yuu_nkjm blog
2009-12-08(Tue) [長年日記] 編集
[Linux][command][xargs] xargsの便利なオプション
引数を好きなところに入れられる iオプション
--replace[=replace-str], -i[replace-str]
initial arguments の中の replace-str を、標準入力から読んだ名前で置き換える。クォートされていない空白文字を文字列の区切りとみなさない。replace-str が省略された場合は、 "{}" がデフォルトの置換文字となる (`find -exec' と同様)。自動的に -x と -l 1 が同時に指定されたことになる。
例) ls -1|xargs -n 1 -i sed '1s/^/--{}-----\n/' {}
xargsで実行されたコマンドを確認する tオプション
--verbose, -t
実行する前に、コマンドラインを標準エラー出力に表示する。
コマンドラインに与える引数の個数を制御する nオプション
--max-args=max-args, -n max-args
コマンドラインあたり最大 max-args 個の文字列が用いられる。もしサイズが超過した場合には (-s オプションの項を見よ)、 max-args 以下の文字列が用いられることになる。ただしこれは -x オプションが指定されていない場合で、指定されている場合には xargs自身が実行を終了する。
例) ls -1|xargs -n 1 -i sed '1s/^/--{}-----\n/' {}
あ,-Pと一緒に使わなきゃいけないのか….
並列実行の個数を制御する Pオプション
--max-procs=max-procs, -P max-procs
一時に実行するプロセスの最大数を max-procs に設定する。デフォルトは 1。もし max-procs が 0 の場合は、 xargs は可能な限り多くのプロセスを実行しようとする。 -n オプションは -P といっしょに用いるようにすること。さもないと一回の実行しか行われない場合がある。