元ネタ
% for i in `seq 3`; do echo $i $i; done
1 1
2 2
3 3
xargsを使う場合
-iオプションを使うと"{}" がデフォルトの置換文字となる。
自動的に -l1 が同時に指定されたことになる。(-l1はコマンドラインあたり最大 1の入力行を用いる。)
% seq 3 | xargs -i echo {} {}
1 1
2 2
3 3
&はマッチした文字列(今回は.*なので1行全部)を参照する。
% seq 3 | sed 's/.*/echo & &/' | sh
1 1
2 2
3 3