xargs

標準入力からコマンドラインを作成し、それを実行する

xargs - 標準入力からコマンドラインを作成し、それを実行する
xargs [-0prtx] [-e[eof-str]] [-i[replace-str]] [-l[max-lines]] [-n max-args] [-s max-chars] [-P max-procs] [--null] [--eof[=eof-str]] [--replace[=replace-str]] [--max-lines[=max-lines]] [--interactive] [--max-chars=max-chars] [--verbose] [--exit] [--max-procs=max-procs] [--max-args=max-args] [--no-run-if-empty] [--version] [--help] [command [initial-arguments]]
このマニュアルページは GNU 版 xargs に関して記述したものである。 xargs はまず標準入力から空白または改行で区切られた文字列群を読み込む (空白はダブルクォーテーション・シングルクォーテーション・ バックスラッシュによってプロテクトできる)。そして command (デフォルトは /bin/echo) に文字列群を続けたコマンドラインを実行する。 initial-arguments が指定されていれば、 command と標準入力から渡された文字列の間に、 command への引き数として渡される。 標準入力の空行は無視される。 xargs が終了するときの戻り値は以下の通り。
0 成功
123 command 実行のいずれかにおいて、 1-125 の戻り値が返った。
124 command が 255 を戻り値として返した。
125 command がシグナルによって kill された。
126 command が実行できない。
127 command が見つからない。
1 他のエラーが起こった。

オプション

--null, -0
標準入力からの文字列の区切りに、空白ではなくヌル文字が使われているとみなす。 また引用符やバックスラッシュに特別の意味を持たせず、 すべての文字をそのまま用いる。 ファイル終了文字列も無効となり、他の文字列と同じように扱われる。 入力される文字列に 空白・引用符・バックスラッシュ が含まれている場合に有用であろう。 GNU find の -print0 オプションの出力を、 このオプションを指定した xargs の入力とすると良い。
--eof[=eof-str], -e[eof-str]
ファイル終了文字列を eof-str に設定する。 入力にこのファイル終了文字列が現れると残りの入力は無視される。 eof-str が省略された場合、ファイル終了文字列は設定されない。 このオプションが与えられなかった場合は、 デフォルトのファイル終了文字列は _ となる。
--help
xargs の利用法に関するまとめを表示して終了する。
--replace[=replace-str], -i[replace-str]
initial arguments の中の replace-str を、 標準入力から読んだ名前で置き換える。 クォートされていない空白文字を文字列の区切りとみなさない。 replace-str が省略された場合は、 {} がデフォルトの置換文字となる (`find -exec' と同様)。 自動的に -x と -l 1 が同時に指定されたことになる。
--max-lines[=max-lines], -l[max-lines]
コマンドラインあたり最大 max-lines の入力行 (空行以外) を用いる。 省略された場合のデフォルトは 1。 入力行が空白文字で終っている場合には、次の行に継続しているとみなされる。 自動的に -x が同時に指定されたことになる。
--max-args=max-args, -n max-args
コマンドラインあたり最大 max-args 個の文字列が用いられる。 もしサイズが超過した場合には (-s オプションの項を見よ)、 max-args 以下の文字列が用いられることになる。 ただしこれは -x オプションが指定されていない場合で、 指定されている場合には xargs 自身が実行を終了する。
--interactive, -p
コマンドライン毎に、実行するかどうかをユーザーにたずねるプロンプトを出し、 端末から一行読み込む。返答が `y' または `Y' で始まっていた場合のみ、 そのコマンドラインを実行する。 自動的に -t が同時に指定されたことになる。
--no-run-if-empty, -r
標準入力に空行しか含まれていない場合、コマンドを実行しない。 通常は入力がない場合でもコマンドは一回実行される。
--max-chars=max-chars, -s max-chars
コマンドライン当たりに指定できる最大の文字数を max-chars に設定する。 文字数にはコマンドと initial arguments、 コマンドライン文字列の最後を示すヌル文字も含まれる。 デフォルトは 20 x 1024 文字もしくはシステムで可能な最大値。
--verbose, -t
実行する前に、コマンドラインを標準エラー出力に表示する。
--version
xargs のバージョンを表示して終了する。
--exit, -x
サイズが超過した場合 (-s オプションの項を見よ) 終了する。
--max-procs=max-procs, -P max-procs
一時に実行するプロセスの最大数を max-procs に設定する。 デフォルトは 1。 もし max-procs が 0 の場合は、 xargs は可能な限り多くのプロセスを実行しようとする。 -n オプションは -P といっしょに用いるようにすること。 さもないと一回の実行しか行われない場合がある。
find (1L), locate (1L), locatedb (5L), updatedb (1L) Finding Files (on-line in Info, or printed)