XARGS(1)

名称
xargs - 標準入力から引数を読み、コマンドを実行する

書式
xargs [-0] [-t] [[-x] -n number] [-s size] [utility [arguments ...]]

解説
xargs コマンドは空白、タブ、改行、EOF (end-of-file) で区切られた引数を標準入力 から読み込み、指定した utility にその引数をつけて実行します。

コマンドラインで指定されたユーティリティ名と引数は、 utility コマンドに渡されます。 ユーティリティに続く引数は標準入力から得られます。 utility は標準入力を読み切るまで繰り返し実行されます。

空白、タブ、改行はシングルクオート (`` ' '') やダブルクオート (``"'') やバックスラッシュ (``\'') を使って埋め込むことができます。 シングルクオートは次のシングルクオートにマッチするまで、 改行とシングルクオートを除く全ての文字をエスケープします。 ダブルクオートは次のダブルクオートにマッチするまで 改行とダブルクオートを除く全ての文字をエスケープします。 改行を含む全ての文字はバックスラッシュでエスケープされます。

オプションは以下のものがあります:

-0  空白と改行ではなくヌル文字 (``\0'') を区切りとするように xargs に指示します。 find の -print0 とともに用います。

-n number
    各 utility 実行時に標準入力から拾う引数の最大数を設定します。 もし計算されたバイト数が、指定された size を越えた場合 ( -s オプション参照) や utility の最後の実行時に残った引数が number 個以下の場合、 utility は、標準入力から読み込んだ引数のうち number より少数しか使いません。 number の現在のデフォルト値は 5000 です。

-s size
    utility に渡すコマンドラインの最大バイト数をセットします。 utility 名の長さと utility に渡される引数の長さの和 (終端の NULL も含む) がこの値以下になります。 size の現在のデフォルト値は ARG_MAX - 2048 です。

-t  実行されるコマンドをその実行の直前に標準エラー出力にエコーします。

-x  引数の個数が指定した (もしくはデフォルトの) コマンドライン長と 合わない場合、 xargs を強制終了します。

もし utility が指定されていなければ、 echo(1) が使われます。

utility が標準入力を読むプログラムの場合は予期せぬ動作をするかもしれません。

コマンドラインを集められなかったときや utility を起動できなかったとき、ユーティリティがシグナルで終了したとき、もしく はユーティリティが戻り値 255 で終了したときは、 xargs は (それ以上の読み込みはせずに) ただちに終了します。

戻り値
xargs は、何もエラーが起こらなければ、戻り値 0 で終了します。 utility が起動できなかった場合は 、 戻り値 127 で終了します。その他のエラーでは戻り値 1 で終了します。

関連項目
echo(1), find(1)

規格
xargs ユーティリティは p1003.2 互換です。