Remova o -L 1
; está implícito em -I
(como diz a página man), mas ele seria substituído quando especificado posteriormente.
Considere a saída:
% { echo one; echo two; echo three; } | xargs -I{} -L1 echo test-{}
test-{} one
test-{} two
test-{} three
Por que o {}
não é substituído de acordo com a página de manual (e minha memória também)?
Como alterar a linha de comando para obter test-one
, test-two
, test-three
linhas como saída?
Funciona sem "-L1", porque está implicitamente definido.
{ echo one; echo two; echo three; } | xargs -I{} echo test-{}
test-one
test-two
test-three
Se você tem o link do GNU Paralelo instalado, você pode fazer isso:
{ echo one; echo two; echo three; } | parallel echo test-{}
Você pode instalar o GNU Parallel simplesmente por:
wget http://git.savannah.gnu.org/cgit/parallel.git/plain/src/parallel
chmod 755 parallel
cp parallel sem
Assista aos vídeos de introdução do GNU Parallel para saber mais: link