GNU/Linux >> Linux の 問題 >  >> Linux

検索対象のフォルダーを除外するにはどうすればよいですか?

最も簡単な方法は、 -mindepth 1 を追加することです 、最初の深さの階層をスキップするため、親ディレクトリが除外されます。

また、余分な -exec は必要ありません rm への呼び出し 、あなたはただ 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 のため、隠しフォルダーは含まれません。 オプション。


問題は、find が現在のディレクトリ (.) を他のディレクトリと共に返すため、処理中のフォルダーとサブディレクトリが削除されることです。これを回避する簡単な方法は、オプションを追加することです

-not -name .

これにより、find による現在のディレクトリの出力が停止され、その結果、ディレクトリが削除されなくなります。

これは、処理ディレクトリ内でコマンドを実行している場合に機能するため、絶対パスを使用しているという事実を考慮してください:

-not -name /var/www/html/content/processing

コマンド全体は次のようになります:

find /var/www/html/content/processing -type d -mtime +1 -not -name /var/www/html/content/processing -exec rm -rf {} \;

Linux
  1. 検索でディレクトリを除外しますか?

  2. 自分のディレクトリにR3.3.1をインストールする方法は?

  3. Python でファイルまたはディレクトリの所有者を見つける方法

  1. Linuxターミナルでディレクトリを開いたり閉じたりする方法

  2. 最大スタック サイズを確認するにはどうすればよいですか?

  3. Linux で「find」の結果を mv にパイプする方法

  1. Linuxのディレクトリツリーで最も古いファイルを見つける方法

  2. 除外ディレクトリを検索しますか?

  3. Sftpで共有ディレクトリにアクセスできるようにする方法は?