¿Qué pasa con este command xargs?

Considere la salida:

% { echo one; echo two; echo three; } | xargs -I{} -L1 echo test-{} test-{} one test-{} two test-{} three 

¿Por qué no {} se sustituye según la página de manual (y mi memory también)?

¿Cómo cambiar la línea de command para get las líneas test-one , test-two , test-three como salida?

Eliminar el -L 1 ; está implícito en -I (como dice la página del manual), pero lo anularía cuando se especifique después.

Funciona sin "-L1", porque está implícitamente configurado.

 { echo one; echo two; echo three; } | xargs -I{} echo test-{} test-one test-two test-three 

Si tienes GNU Parallel http://www.gnu.org/software/parallel/ instalado, puedes hacer esto:

 { echo one; echo two; echo three; } | parallel echo test-{} 

Puede instalar GNU Parallel simplemente por:

 wget http://git.savannah.gnu.org/cgit/parallel.git/plain/src/parallel chmod 755 parallel cp parallel sem 

Mira los videos introductorios de GNU Parallel para get más información: https://www.youtube.com/playlist?list=PL284C9FF2488BC6D1