Was ist los mit diesem xargs-Befehl?

7

Betrachten Sie die Ausgabe:

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

Warum wird nicht {}gemäß der Handbuchseite (und auch meinem Gedächtnis) ersetzt?

Wie die Befehlszeile zu ändern , zu erhalten test-one, test-two, test-threeLinien als Ausgabe?

ulidtko
quelle

Antworten:

8

Entfernen Sie die -L 1; es wird impliziert durch -I(wie die Manpage sagt), aber es würde es überschreiben, wenn es später angegeben wird.

Stéphane Gimenez
quelle
4

Es funktioniert ohne "-L1", da es implizit gesetzt ist.

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