サブディレクトリが存在しない場合は、エラーなしで特定のディレクトリからサブディレクトリを削除する方法を見つける必要があります。このコマンドは、サブディレクトリが存在する場合は正常に削除します。
find /path/to/dir/* -maxdepth 1 -type d -exec rm -rf {} \;
ただし、存在しない場合は、次のエラーが発生します。
検索: /path/to/dir/*: そのファイルやディレクトリがありません。
また、処理するディレクトリが多すぎて個別に処理する必要があるため、find
simpleの代わりに使用しています。rm
rm
find
find /path/to/dir/ -maxdepth 1 -type d -exec rm -rf {} \;
また、ワイルドカードが実際に削除されないことがわかりました。目次ディレクトリにも同じです。
答え1
-mindepth
findのパラメータを使用して、ターゲット.
ディレクトリでの一致を防ぐことができます。これにより問題が解決します。
find /path/to/dir/ -mindepth 1 -maxdepth 1 -type d -exec rm -rf {} +