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

Linux での xargs コマンドの例

xargs コマンドは、標準入力から読み取り、指定された引数ごとにコマンドを実行します。各引数はブランクで区切る必要があります。パイプ演算子は、最初のコマンドの出力を 2 番目のコマンドの入力にするために使用されます。 xargs コマンドは通常、find コマンドと一緒に使用して、ファイルまたはディレクトリの検索で見つかった各結果を処理します。

構文

xargs コマンドの一般的な構文は次のとおりです。

# command [options] [arguments] | xargs [options] {command}

/foo ディレクトリ内の .pdf 拡張子を持つすべてのファイルを削除するとします。 xargs を使用してプロセスを自動化できます:

# find /foo -type f -name "*.pdf" | xargs rm

find コマンドは、.pdf 拡張子を持つ /foo 内のすべてのファイルを検索し、結果を xargs コマンドにパイプします。結果はスペースで区切られているため、xargs コマンドは結果内の各ファイルに対して rm コマンドを実行し、ディレクトリ内のすべての PDF ファイルを削除します。

xargs コマンドには、以下に示すようにさまざまなオプションがあります:

オプション 説明
-I {置換文字列} 標準入力の各行を単一の引数と見なします。
-L {行数} 標準入力から指定された行数を読み取り、それらを 1 つの長い文字列に連結します。
-p 各コマンドの前にユーザーにプロンプ​​トを出します。
-n {引数の数} 標準入力から最大数の引数を読み取り、コマンド テンプレートの最後に挿入します。
-E {文字列の終わり} 標準入力の終わりを表します。
-t コマンドを実行する前に、各コマンドを標準エラー出力に書き込みます。
-s {最大サイズ} 引数リストの最大許容サイズを指定された文字数に設定します。

xargs コマンドの例

1. 入力データを引数として使用してコマンドを実行します:

# arguments_source | xargs command

2. 入力データに対して複数のチェーン コマンドを実行します。

# arguments_source | xargs sh -c "command1 && command2 | command3"

3. `.backup` 拡張子を持つすべてのファイルを削除します (`-print0` はヌル文字を使用してファイル名を分割し、`-0` はそれを区切り文字として使用します):

# find . -name '*.backup' -print0 | xargs -0 rm -v

4. 入力行ごとにコマンドを 1 回実行し、プレースホルダー (ここでは `_` でマーク) を入力行に置き換えます。

# arguments_source | xargs -I _ command _ optional_extra_arguments

5. 一度に最大 'max-procs' プロセスの並列実行。デフォルトは 1 です。`max-procs` が 0 の場合、xargs は一度にできるだけ多くのプロセスを実行します:

# arguments_source | xargs -P max-procs command


Linux
  1. Linuxでの11のXargsコマンドの例

  2. Linux での sa コマンドの例

  3. w Linux でのコマンド例

  1. 8 Linux TR コマンドの例

  2. Linux での rm コマンドの例

  3. Linux での ps コマンドの例

  1. Linux での ac コマンドの例

  2. Linux での df コマンドの例

  3. Linux での du コマンドの例