環境
やりたいこと
カレントディレクトリ以下のPythonキャッシュゴミファイルを一括削除したい 死んでもgitに入れたくない
コマンド
find . -type d -name '__pycache__' -exec rm -rf {} +
find . -type f -name '*.pyc' -delete
find . -type d -name '__pycache__' -exec rm -rf {} +find . -type f -name '*.pyc' -delete
備考
findなら -delete でも消せるじゃん、と思ったそこの貴方。残念ながら以下のコマンドでは動作しない。
# NOT WORKING!!! find . -type d -name '__pycache__' -delete
find . -type d -name '__pycache__' -delete が動作しない理由は、-delete オプションが特定の条件にのみ適用されるためだ。
-delete はディレクトリを削除する際に、そのディレクトリが空である必要がある。つまり、__pycache__ のように中にファイルが含まれているディレクトリを削除しようとすると、エラーが発生する。また、今回のように再帰的にディレクトリを削除したい場合は、rm -rf を使った方が安全で確実に削除できる。