質問: 検索するフォルダーを「検索」で除外するにはどうすればよいですか? 次のコマンドを実行しています。find /var/www/html/content/processing -type d -mtime +1 -exec rm -rf {} \; processingフォルダーの下のすべてのフォルダーを削除したい(処理フォルダーは削除しないでください)。コマンドはprocessingフォルダーも削除しています。削除するスクリプトを制限するにはどうすればいいですかonlyそのフォルダーの下のフォルダー?
回答: 最も簡単な方法は、-mindepth 1を追加することです。これにより 最初の深さ階層をスキップ となり、親ディレクトリは除外されます。また、rmへの追加の-exec呼び出しは必要ありません。空の場合は フォルダーを直接delete直接 できます。find /var/www/html/content/processing -mindepth 1 -type d -mtime +1 -delete 空でない場合:find /var/www/html/content/processing -mindepth 1 -type d -mtime +1 -exec rm -rf {} \; 怠惰な場合は、ワイルドカードを展開することもできます。 *にはデフォルトで現在のディレクトリが含まれていないため( dotglobが設定されていない場合 )、次のようにすることもできます。find /var/www/html/content/processing/* -type d -mtime +1 -delete ただし、これにも隠しフォルダは含まれません。これもdotglobオプションのためです。