ディレクトリ自体ではなくパターンを使用してディレクトリを見つけ、コンテンツを削除します。

ディレクトリ自体ではなくパターンを使用してディレクトリを見つけ、コンテンツを削除します。

findコマンドのパターンを使用してディレクトリサイズを繰り返すことができます。

find . -name "results_*" -exec du -sm '{}' \;

これらのディレクトリの内容を削除しますが、ディレクトリ自体(result_ *)はそのままにして、そのディレクトリが存在し、バックアップに見つかることを示すプレースホルダを作成したいと思います。

どうすればいいですか?

ベストアンサー1

代わりにパスを一致させることができます。

find . -path "*/results_*/*" -delete

またはfindサポートしていない場合-delete

find . -path "*/results_*/*" -exec rm -rf {} \; -prune

これは、最後のパスコンポーネントを除いて、そのパス内のすべてを探しますresults_*。したがって、一致するディレクトリのすべての内容はresults_*削除されますが、ディレクトリ自体は保持されます(それ自体が一致するディレクトリにない限りresults_*)。

おすすめ記事