Shell

如果設置了 -I,為什麼 xargs 似乎以不同的方式處理分隔符

  • October 22, 2019

xargs -n1 -I '{}' echo '{}' <<< "foo bar baz"印刷 foo bar baz

xargs -n1 echo <<< "foo bar baz"列印時

foo
bar
baz

是什麼導致了這種行為?

指定-I 更改分隔符

-I replstr

標準輸入中的參數只能由未轉義的 <newline> 字元分隔,而不是由 <blank> 字元分隔。

foo在您的第二個範例中, ,bar和之間的空格baz分割輸入;但在您的第一個中,輸入被視為一個單元,因為它是單行。

引用自:https://unix.stackexchange.com/questions/548124