TL;DR
find . -type f -print0 | xargs -0 rm
で解決
はじめに
私は毎日画像収集をしていて、ポンポン画像をDLしてはGoogleフォトに自動アップロードされるよう設定をしています。
Googleフォト、大きい画像は容量が抑えられちゃうけれど、容量無制限なのは嬉しいですね!
で、画像が貯まってきたので全削除しようとしたらFinderがフリーズ……
ターミナルから消そうか。と実行してみたけれど、エラーが何度か出たので共有です。
削除してみる
削除したいフォルダに移動して
$ cd ~/Downlowds
全削除
$ rm *.*
zsh: argument list too long: rm
……どうも削除対象が多すぎたみたいです。
気を取り直してfind
からrm
に渡して実行します。
$ find . -type f -print | xargs rm
xargs: unterminated quote
今度はスペースが入っているファイルがあるからダメとのこと。
以下で解決
$ find . -type f -print0 | xargs -0 rm
>>> elapsed time 1m49s
結論
find . -type f -print0 | xargs -0 rm
で解決!
find
は-print0
オプションでスペース
を\0
にして、xargs
は-0
オプションでスペース
を\0
にして処理してくれるみたいです。
今回はrm
コマンドでディレクトリ下のファイルを全削除しています。
全削除したくない場合はfind
の部分で削除したいものを指定するようにお願いします。