497 Stimmen

xargs soll den Befehl für jede Eingabezeile einmal ausführen

Wie kann ich xargs dazu bringen, den Befehl genau einmal für jede Eingabezeile auszuführen? Das Standardverhalten von xargs ist es, die Zeilen zu zerhacken und den Befehl einmal auszuführen, wobei mehrere Zeilen an jede Instanz übergeben werden.

Von http://en.wikipedia.org/wiki/Xargs :

find /path -type f -print0 | xargs -0 rm

In diesem Beispiel füttert find die Eingabe von xargs mit einer langen Liste von Dateinamen. xargs teilt diese Liste dann in Unterlisten auf und ruft rm einmal für jede Unterliste auf. Dies ist effizienter als diese funktional äquivalente Version:

find /path -type f -exec rm '{}' \;

Ich weiß, dass find das Flag "exec" hat. Ich zitiere nur ein anschauliches Beispiel aus einer anderen Quelle.

CodeJaeger.com

CodeJaeger ist eine Gemeinschaft für Programmierer, die täglich Hilfe erhalten..
Wir haben viele Inhalte, und Sie können auch Ihre eigenen Fragen stellen oder die Fragen anderer Leute lösen.

Powered by:

X