約150のテキストファイルを含むフォルダーがあります。 150ファイルの名前でフォルダを作成したいのですが。その後、テキストファイルをそれぞれのフォルダに移動したいと思います。
Myfolderディレクトリ内のファイルの名前の例:
~/myfolder/
|______ ajhaslf.txt
|______ oiueed.txt
|______ dsflije.txt
新しい構造をどのようにしたいか:
~/myfolder/
|______ ajhaslf
|____ajhaslf.txt
|______ oiueed
|____oiueed.txt
|______ dsflije
|____dsflije.txt
もちろん、mkdir
を使用して、ファイル名でディレクトリを作成しても問題ありません。
@ gniourf_gniourf は正しい考えを持っています:
set -o errexit -o nounset
cd ~/myfolder
for file in *.txt
do
dir="${file%.txt}"
mkdir -- "$dir"
mv -- "$file" "$dir"
done
これはPOSIXに準拠している必要があります。 再入可能ではありません。 something.txt
とsomething.txt.txt
という名前の2つのファイルがある場合、機能しません。