指定したファイルを削除せずにディレクトリ内のファイルの削除をキャンセルする方法

指定したファイルを削除せずにディレクトリ内のファイルの削除をキャンセルする方法

私のディレクトリにこれらのファイルがあるとしましょう。

├── __init__.py
├── __init__.pyc
├── __pycache__
├── recognizer.wsgi
├── requirements.txt
├── src
└── upld

upldその中からディレクトリ以外のすべてを削除したいと思います。これを行うより速く、より良い方法があるかどうか疑問に思います。

ありがとうございます。

ベストアンサー1

find . -path ./upld -prune -o ! -path . -print

findこれは、サブディレクトリを含む現在のディレクトリ内のすべてのエントリを削除するために使用されます。ただし、そのパスは./upld削除されません。 (初期検索パスからスキップしたいコンテンツの完全な相対パスである必要があることに注意してください。)

実行し、出力を確認して-printから-delete


関連ディレクトリの親ディレクトリのセキュリティオプション:

mkdir newdir
mv olddir/upld newdir
rm -rf olddir
mv newdir olddir

つまり、upld安全のためにサブディレクトリを別の場所に移動してから、以前のディレクトリを完全に削除します。

おすすめ記事