私は約5000のイメージを持つディレクトリを持っています。私はそれぞれを100個のイメージで50個のフォルダ(作成する必要があります)に分割/移動したいと思います。何千もの画像を含むフォルダを複数のサブフォルダに分割するにはどうすればよいですか?
ターミナルでこれを行う方法はありますか?
OS Xを実行しています。
私は約5000のイメージを持つディレクトリを持っています。私はそれぞれを100個のイメージで50個のフォルダ(作成する必要があります)に分割/移動したいと思います。何千もの画像を含むフォルダを複数のサブフォルダに分割するにはどうすればよいですか?
ターミナルでこれを行う方法はありますか?
OS Xを実行しています。
i=0; for f in *; do d=dir_$(printf %03d $((i/100+1))); mkdir -p $d; mv "$f" $d; let i++; done
awk one-linerがこれを実行できます。このawkコマンドを考えてみましょう。
find . -name "*.JPG" | awk '!(++cnt%100) {"mkdir sub_" ++d|getline}'
5000画像のフォルダ内で実行します。これにより、名前がsub_1、sub_2、... sub_50の50個のフォルダが作成されます。また、これらの新しく作成されたディレクトリにファイルを移動するため
:
find . -type f | awk '{
a[++cnt] = $0
}
cnt==100 {
subd = "sub_" ++d;
system("mkdir " subd);
for (f in a)
system("mv " a[f] " " subd);
cnt=0
}'
は完璧に機能しました!ありがとう –
多くのありがとう。変更され、他の目的のために使用されます。とても便利な。 – technology101010