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