以下のように2万ページのキャッシュを削除しようとしました。
1 | rm ./hoge_*.php |
しかし以下のようなエラーが出ました。
1 | -bash: /bin/rm: Argument list too long |
数が多すぎるので削除できません。なら一つずつ実行する手もあるかもしれませんが、それでは日が暮れるまで削除し続けれなければいけないので困ります。
xargs で必要最低限の回数だけ rm を実行する
このような場合は find でファイルを検索して xargs に最適な数ずつ rm で削除するようにしてもらえば良いです。xargs はそれを実現してくれる大変便利なコマンドです。
1 | find ./ -name 'hoge_*.php' | xargs rm |
以下のページが参考になりました。
スペースが含まれているファイルを削除する
しかし以上で紹介したコマンドではスペースが含まれているファイルを削除できないらしいです。そのため以下のような書き方をしなければいけません。まだ私は試したことありません。
1 | find ./ -name 'hoge_*.php' -print0 | xargs -0 rm |
以下のページが大変参考になりました。
コメント