サブフォルダを介して何千ものファイルを配布する

サブフォルダを介して何千ものファイルを配布する

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 {} {#}

おすすめ記事