A
数十万のファイルを含むフォルダがあります。これらのファイルを次に移動したいと思います。新しいサブフォルダS_i
、例:それぞれ100個のファイル(最後のフォルダには100個未満のファイルがあります)
つまり、私のフォルダに次のものがA
ある場合:
file1
file2
...
file1000
これから私は次のようになります:
S_1:
file_1
...
file_100
S_2:
file_101
...
file_200
...
これを行うには、Zshスクリプトを手動で作成する前に(たとえば、変数を使用してファイル数を計算する)、事前に作成されたツール(例:分ける)この作業に役立ちます。
ベストアンサー1
ファイル名にスペースが含まれていない場合:
i=1;while read l;do mkdir $i;mv $l $((i++));done< <(ls|xargs -n100)
使用parallel
:
ls|parallel -n100 mkdir {#}\;mv {} {#}