Considere o seguinte xargs
usage:
echo Alice Bob Carol | xargs -n1 echo
Ele produz três declarações de eco como esta
echo Alice
echo Bob
echo Carol
Considere este uso xargs
modificado:
echo Alice Bob Carol | xargs -n1 -I% echo Hello, %. How are you?
Produz uma declaração de eco em vez das três desejadas:
echo Hello, Alice Bob Carol. How are you?
Isso ocorre porque -I
altera a maneira como o fluxo de entrada é delimitado, conforme a página do manual:
unquoted blanks do not terminate input items; instead the separator is the newline character
É possível manter o delimitador de espaço ao usar a técnica de substituição?
O melhor que eu tenho é usar -d
para especificar o delimitador de espaço, existe uma maneira melhor?
echo -n Alice Bob Carol | xargs -n1 -I% -d\ echo Hello, %. How are you?
Tags xargs