xargs -n1 -I '{}' echo '{}' <<< "foo bar baz"
印刷
foo bar baz
同時にxargs -n1 echo <<< "foo bar baz"
印刷
foo
bar
baz
この動作の原因は何ですか?
答え1
指定する-I
区切り記号の変更:
-私 文字列のコピー
標準入力の引数は、<空白>文字ではなく、エスケープされていない<newline>文字で区切ることができます。
foo
2番目の例では、との間bar
のスペースは入力を分割しますbaz
が、最初の例では入力は単一行なので単一単位として扱われます。