*.pycをすべて削除しようとしています。パイキャッシュそして、見たくない他の愚かなファイル言語を実行する必要があります。私が得た最も近いもの
sudo rm -rf **/*__pycache__
答え、これはパスの深いところでは動作しません。
sudo rm -R -f {__pycache__,.*.pyc}
これはうまくいきませんパイキャッシュフォルダ。
webapi/__pycache__
webapi/cool_app/__pycache__
webapi/cool_app/bad_file.pyc
webapi/cool_app/keep_this_awesomeness.py
webapi/cool_app/sweet_folder/__pycache__
webapi/cool_app/sweet_folder/bad_file.pyc
webapi/cool_app/sweet_folder/keep_this_awesomeness.py
ただ
webapi/cool_app/keep_this_awesomeness.py
webapi/cool_app/sweet_folder/keep_this_awesomeness.py
維持する。
答え1
find . \( -name __pycache__ -o -name "*.pyc" \) -delete
答え2
rm
シェルがそれをサポートしている場合は、ファイルの再帰の閲覧と削除にシェル自体を使用できます。
bash
たとえば、シェルオプションでは、globstar
globパターンが**
すべての深さのサブディレクトリと一致することを許可し、汎用globbing演算子を使用してファイルを一致させることもできます。
あなたの場合:
rm **/{*.pyc,__pycache__}
します。
まず、次を有効にしますglobstar
。
shopt -s globstar
答え3
あなたの場合にも行うことができます
find . -name "__pycache__" -o -name "*.pyc" | xargs rm -rf
組み込みコマンドのみを使用して作成されました。 globstarを有効にするのを防ぎます。