理系学生日記

おまえはいつまで学生気分なのか

find-xargs と mv/cp を組み合わせるときの注意点

特定ディレクトリ配下のファイルを移すときとかでこういうの書いてるの見るけど、ファイル数が多いんだったら止めた方が良いです。
10 万くらいのファイルをこれで動かそうとすると、クソみたいに時間がかかるみたいなことあります。

$ find . -type f | xargs -I{} mv {} to_dir

GNU 拡張が使えるときは --target-directory 使いましょう。コマンド実行時に生まれるプロセス数に格段の差が出てきて、結果として速度にも格段の差がでます。

$ find . -type f | xargs mv --target-directory=to_dir