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

Linuxでtestという名前のすべてのディレクトリを見つけて削除します

xargs すべての魔法を行います:

find . -name test -type d -print0|xargs -0 rm -r --

xargs stdin に渡された引数を使用して、パラメーターとして渡されたコマンドを実行します。

これは rm -r を使用しています ディレクトリとそのすべての子を削除します。

-- - で始まるパスを避けるために、引数の終わりを示します 引数として扱われないようにします。

-print0 find に伝えます \0 を印刷する 改行の代わりの文字;と -0 xargs に伝えます \0 のみを扱う 引数の区切りとして。

これは rm を呼び出しています rm を呼び出すオーバーヘッドを回避して、一度に多くのディレクトリを処理します。 ディレクトリごとに個別に。

代わりに find 選択したごとにコマンドを実行することもできます ファイル:

find . -name test -type d -exec rm -r {} \;

これは rm を呼び出すため、パフォーマンスが向上します。 一度に複数のディレクトリ :

find . -name test -type d -exec rm -r {} +

(+ に注意してください 最後に;これは xargs と同等です 解決します。)


find /path/to/dir -name "test" -type d -delete
  • -name: 渡された名前を探します。 -regex を使用できます 正規表現に基づく名前の提供

  • タイプ: ファイルの種類を探します。 d ディレクトリのみを検索

  • -削除: 見つかったリストを削除するアクション。

別の方法:

find /path/to/dir -name "test" -type d -exec rm -rf {} \;

J.F.セバスチャン コメントに記載:

+ を使用できます \; の代わりに 一度に複数のディレクトリを渡すことができます。


これを行うさらに別の方法は

find . -name test -exec rm -R "{}" \;

検索に関する役立つリンク:http://www.softpanorama.info/Tools/Find/using_exec_option_and_xargs_in_find.shtml


Linux
  1. Linuxでディレクトリを再帰的に検索および削除する方法

  2. Linuxで最大のファイルとディレクトリを探す

  3. Linux ファイルとディレクトリの削除

  1. Unix で空のディレクトリとファイルを見つけて削除する方法

  2. Linux の「検索」コマンドのガイド

  3. Linux での「検索」と「検索」の違いは何ですか?

  1. findコマンドを使用してLinux上のファイルとディレクトリを検索します

  2. プロのようにLinuxでファイルとディレクトリを探す

  3. Linux ですべての空のファイルとディレクトリを再帰的に削除するにはどうすればよいですか?