特定のディレクトリ配下の特定の名前のファイルを一括で削除したい
サーバ上にあるディレクトリごと転送したとき,Macで勝手に作られてしまう.DS_Storeというファイルも一緒に転送してしまったときがあった.
で,そのディレクトリの下にも色々ディレクトリはあったから,一つ一つ「rm .DS_Store」とかしていくのはメンドイ.
というわけで,findとかxargsとか使って,うまく出来ないか調べてみた.
はい,その結果.
$ find . -name .DS_Store | xargs rm
これで,カレントディレクトリ配下にある全ての.DS_Storeが一括で削除できる.
findとxargsの組み合わせは色々と便利で,まあ,ググったら結構情報はある.
例えば,Pythonのファイルで,Todoと書かれているファイルと行が知りたいときなんかは,
$ find . -name "*.py" | xargs grep todo
で,検索できる.
便利!