名前でディレクトリを再帰的に検索し、その中のすべての一般的なファイルを削除する方法

名前でディレクトリを再帰的に検索し、その中のすべての一般的なファイルを削除する方法

私は、次のことが必要なAWS EC2インスタンス(RHELフォーク)にbashスクリプトを作成しています。

  1. 名前付き"_combined"ディレクトリをすべて検索${PROJECT_DIR}
  2. このすべてのディレクトリにあるすべての一般ファイルを削除します。ディレクトリ自体は削除しないでください。

これを行う最良の方法は何ですか?

答え1

そのように

find "$PROJECT_DIR" -path "*/_combined/*" -type f

この内容が正しい場合:

find "$PROJECT_DIR" -path "*/_combined/*" -type f -delete

もちろん、これは.dllだけでなく、ツリー全体のすべての一般的なファイルにも影響します_combined

答え2

これはあなたが説明することを行います。あなたがいるとき確かに動作します。-printそのセクションを次のように置き換えます-delete

find "$PROJECT_DIR" -type d -name '_combined' -execdir find '_combined' -maxdepth 1 -type f -print \;

これは、_combined以下に名前が付けられたすべてのディレクトリを検索し、各ディレクトリで見つかったディレクトリ内のディレクトリ以外のすべてのディレクトリを削除する$PROJECT_DIR2番目のフラグメントを実行することです。find

関連情報