このxargsコマンドにはどのような問題がありますか?

このxargsコマンドにはどのような問題がありますか?

出力を検討してください。

% { echo one; echo two; echo three; } | xargs -I{} -L1 echo test-{} 
test-{} one
test-{} two
test-{} three

{}代替項目がマニュアルページ(および私のメモリ)に従わないのはなぜですか?

test-one、、、test-two行を出力にインポートするには、コマンドラインをどのように変更しますかtest-three

答え1

Remove -L 1; -I(マンページに記載されているように)に暗示されていますが、後で指定すると無視されます。

答え2

暗黙的に設定されているため、「-L1」なしで動作します。

{ echo one; echo two; echo three; } | xargs -I{} echo test-{}
test-one
test-two
test-three

答え3

GNU並列がある場合http://www.gnu.org/software/parallel/インストール後、次のことができます。

{ echo one; echo two; echo three; } | parallel echo test-{}

次のように簡単にGNU Parallelをインストールできます。

wget http://git.savannah.gnu.org/cgit/parallel.git/plain/src/parallel
chmod 755 parallel
cp parallel sem

詳しくは、GNU Parallelの紹介ビデオをご覧ください。 https://www.youtube.com/playlist?list=PL284C9FF2488BC6D1

関連情報