500,000個のファイルをそれぞれ50,000個のファイルを含む10個のサブディレクトリに展開

500,000個のファイルをそれぞれ50,000個のファイルを含む10個のサブディレクトリに展開

500,000個のファイルがあります.abc。今、それぞれ50,000個のファイルを含む10個の異なるサブディレクトリに展開しようとしています。

私は次のことを試しました

ls -1 | (cd /path/to/folder/1; split --lines=50000).

これにより、50,000の異なる名前を持つxaa、、xab...などのファイルが生成されます。しかし、それらは単なる名前であり、ファイルではありません。xak.abc

ベストアンサー1

mv `ls *.abc | head -50000` ./subfolder1/

別のサブフォルダ名を使用してこのコマンドを10回実行します。

この10個のサブフォルダ名をどのように指定しますか?コマンドを10回実行する代わりに、forループを使用できます。

説明する

  • ls *.abc | head -50000- 5,00,000個の.abcファイルのうち最初の50,000個のファイルを一覧表示
  • mv <ls part> ./subfolder1/- リストされている50,000個のファイルをすべてsubfolder1というディレクトリに移動します。

おすすめ記事