3

Рассмотрим следующее использование xargs :

echo Alice Bob Carol | xargs -n1 echo

Это производит три заявления эха как это

echo Alice 
echo Bob 
echo Carol 

Рассмотрим это модифицированное использование xargs :

echo Alice Bob Carol | xargs -n1 -I% echo Hello, %. How are you?

Он производит одно эхо-выражение вместо желаемых трех:

echo Hello, Alice Bob Carol. How are you?

Это потому, что -I изменяет способ разделения входного потока в соответствии с man-страницей:

пробелы без кавычек не заканчивают вводимые элементы; вместо этого разделитель является символом новой строки

Можно ли сохранить разделитель пространства при использовании техники замены?

Лучшее, что я придумал, это использование -d для указания разделителя пробелов, есть ли лучший способ?

echo -n Alice Bob Carol | xargs -n1 -I% -d\  echo Hello, %. How are you?

0