エラーなしでサブディレクトリを見つけて削除しますか?

エラーなしでサブディレクトリを見つけて削除しますか?

サブディレクトリが存在しない場合は、エラーなしで特定のディレクトリからサブディレクトリを削除する方法を見つける必要があります。このコマンドは、サブディレクトリが存在する場合は正常に削除します。

find /path/to/dir/* -maxdepth 1 -type d -exec rm -rf {} \;

ただし、存在しない場合は、次のエラーが発生します。

検索: /path/to/dir/*: そのファイルやディレクトリがありません。

また、処理するディレクトリが多すぎて個別に処理する必要があるため、findsimpleの代わりに使用しています。rmrmfind

find /path/to/dir/ -maxdepth 1 -type d -exec rm -rf {} \;また、ワイルドカードが実際に削除されないことがわかりました。目次ディレクトリにも同じです。

答え1

-mindepthfindのパラメータを使用して、ターゲット.ディレクトリでの一致を防ぐことができます。これにより問題が解決します。

find /path/to/dir/ -mindepth 1 -maxdepth 1 -type d -exec rm -rf {} +

関連情報