ファイル名でディレクトリを作成し、ファイルをそのフォルダに移動します。

ファイル名でディレクトリを作成し、ファイルをそのフォルダに移動します。

約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

おすすめ記事