検索および削除すると、エラー状態が表示されます。

検索および削除すると、エラー状態が表示されます。

以前の多くの議論に従って削除を実行しようとしました。検索と削除

しかし、私の試みは他の経験をもたらしました。

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

指定したフォルダを削除kokoしましたが、誤検出が発生しました

find: ./koko: No such file or directory

私の端末に問題がある可能性があります。

を使用していますが、tcshfind-deleteに切り替えると正しく機能しません。

スナップショット運動完了

答え1

-pruneで提案されたオプションを使用する場合これ答え、エラーメッセージは表示されません。

上記の回答を引用すると、

-prune削除するディレクトリに使用すると、そのディレクトリ内のファイルを見つけようとしないように find に指示します。

テスト

mkdir koko
cd koko
touch file{1,2}
cd ..
find . -type d -name "koko" -prune -exec rm -rf {} \;

上記のfindコマンドを実行すると、エラーなしでプロンプトが表示されます。ただし、そのオプションを使用しないと、-prune上記と同じエラーが発生します。

答え2

問題は、find選択に一致するディレクトリを見つけてコマンドを実行することです。しかし、findディレクトリツリーを介して再帰する自然な作業を実行しようとすると、見つけたディレクトリが消えました!したがって、エラーメッセージが表示されます。

オプションを提供することでこの問題を解決できます--depthディレクトリ自体の前に各ディレクトリの内容を処理します。。マニュアルページには、-delete上記の理由でこのオプションも暗示されていると記載されています。

関連情報