環境
やりたいこと
カレントディレクトリ以下の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
を使った方が安全で確実に削除できる。