xargs(1)
標準入力から生成したコマンドラインを実行する
構文
xargs [オプション] [コマンド [初期引数]]
オプション
-a, --arg-file=FILE | 標準入力からではなくファイルFILEから読み込む |
--null, -0 | 入力される項目の区切りとしてホワイトスペース(空白、改行)ではなくNULL文字を使用する(引用符やバックスラッシュを特殊文字として扱わない) |
-delimiter=DELIM, -d DELIM | 入力される項目の区切りとしてDELIMを使用する |
-E EOFSTR | ファイル終端文字としてEOFSTRを使用する(EOFSTR以降の入力は無視される) |
--eof[=EOFSTR], -e[EOFSTR] | ファイル終端文字としてEOFSTRを使用する(POSIX非準拠なので-Eを推奨) |
-I REPLACE-STR | 構文に初期引数が指定されているとき、初期引数内のREPLACE-STRを標準入力から読み込まれたものに差し替える(「-x」および「-L 1」が自動的に指定される) |
-i[REPLACE-STR], --replace[=REPLACE-STR] | REPLACE-STRが指定されていれば-Iと同じで、REPLACE-STRが指定されていなければ「-I{}」と同じ |
-L MAX-LINES | コマンドライン1つにつき最大MAX-LINES行の入力を使用する(「-x」が自動的に指定される) |
-l[MAX-LINES], --max-lines[=MAX-LINES] | -Lオプションと同じだが、MAX-LINES引数を指定しなくてもよい(その場合はMAX-LINESは1とみなされる) |
-n MAX-ARGS, --max-args=MAX-ARGS | コマンドライン1つにつき最大MAX-ARGS個の引数を使用する |
-p, --interactive | コマンドライン1つごとに実行するかどうかを問い合せる(「-t」が自動的に指定される) |
-r, --no-run-if-empty | 標準入力が全部空白の場合はコマンドを実行しない |
-s MAX-CHARS, --max-chars=MAX-CHARS | コマンドライン1つにつき最大MAX-CHARS文字の入力を使用する |
-t, --verbose | 実行前にコマンドラインを標準エラー出力に出力する |
--show-limits | コマンドラインの長さの上限を表示する |
-x, --exit | 生成されたコマンドラインが上限を超えていたら終了する |
-P MAXPROCS, --max-procs=MAXPROCS | MAXPROCSプロセスまで同時に実行する(デフォルトは1。0ならできるだけ多くのプロセスを同時に実行しようとする) |
説明
指定されたコマンドと初期引数に、標準入力から読み込んだ引数をつけてコマンドラインを生成し、実行する。コマンドが指定されなかった場合はechoに送られる。
使用例
testdirディレクトリ内にある「*.rb」ファイルそれぞれの先頭10行を表示する。
$ ls testdir/*.rb | xargs head
testdirディレクトリ内のファイルを、/tmpディレクトリ以下に拡張子「.bk」を付けてコピーする。
$ ls testdir | xargs -I{} cp testdir/{} /tmp/{}.bk