他の人が既に投稿してるかもしれないが、よく使うコマンドなので備忘録。
結論
find
+xargs
で爆速になる。
find <path> -name <name> -type <type> | xargs rm -rf
解説
ググるとxargs
の他に-exec
オプションを使う方法もヒットする。
find <path> -name <name> -type <type> -exec rm -rf {} \;
-exec {} ;
の場合、1 行ずつコマンドに渡しrm
を実行する。
rm -rf foo.txt
rm -rf bar.txt
rm -rf baz.txt
rm -rf qux.txt
xargs
の場合、可能な限り複数行をまとめてコマンドに渡しrm
を実行する。
rm -rf foo.txt bar.txt baz.txt qux.txt
毎回実行するか、まとめて実行するかの違い。なのでxargs
の方が高速。
因みに-exec {} +
を使うと、複数行をまとめてコマンドに渡せるけど、実行対象が数万件とかだとxargs
の方が効率的らしい。