すべてのサブディレクトリ内の一致するディレクトリを削除します

すべてのサブディレクトリ内の一致するディレクトリを削除します

run-*.achillesLinux ですべてのサブディレクトリ内のすべてのディレクトリを削除するにはどうすればよいですか?

試してみましたfind /path -name run-*.achilles -type f -deleteが、うまくいきませんでした。

答え1

ここにいくつかの問題があります:

  1. シェルのグロブを防ぐために引用符を付ける必要があります*
  2. -type fファイルが必要であることを伝えますfind
  3. find -delete空でないディレクトリは削除されません。この質問を見るそこにある回答の 1 つから調整された解決策:

    find /path -path '*/run-*.achilles/*' -delete
    find /path -type d -name 'run-*.achilles' -empty -delete
    

完璧ではありませんが、最初の行は一致すると.../run-a/b.achilles/...思います。次のコマンドの方が一致するはずです。

find /path -type d -name 'run-*.achilles' -exec rm -rf {} +

を使用しますのでrm -rf、ご注意ください。

関連情報