find - $[duplicate] を使用してディレクトリ削除を実行する

find - $[duplicate] を使用してディレクトリ削除を実行する

存在するドル名のMavenローカルストレージディレクトリ - 未解決のプロパティはありますか?私は、ファイル名にドル記号を含む数十のディレクトリを取得する方法を説明しました。

私はこれを使ってこれを削除しようとしました:

find . -type d -name "*\$*" -exec rm -rf {} \;

各ディレクトリにエラーメッセージを表示します。しかし、ディレクトリとその内容はまだありません。

だから、次のことをやり直しました/tmp

mkdir "\$adir"
find . -type d -name "*\$*" -exec rm -rf {} \;

そしてエラーが再び表示されます

find: ./$adir: No such file or directory

これらの警告なしにこれらのファイルをどのように削除できますか?

答え1

これは、一致する各ディレクトリでfind実行しrm -rf、そのディレクトリに入ろうとするために発生しますが、消えます。

これを防ぎ、その警告を受け取らないようにするには、ディレクトリを処理しようとしないようにディレクトリをクリーンアップするように指示するfind必要があります。

find . -type d -name "*\$*" -exec rm -rf {} \; -prune

複数のディレクトリを処理できるため、一度に複数のディレクトリを削除するようにrm指示できます。find

find . -type d -name "*\$*" -exec rm -rf {} + -prune

関連情報