Der Befehl xargs
wird in der Bash verwendet, um Eingaben von Standard-Input (stdin) zu lesen und diese als Argumente an andere Befehle zu übergeben. Dies ist besonders nützlich, wenn die Anzahl der Argumente zu groß ist, um sie direkt in einem Befehl zu verwenden.
Die grundlegende Syntax des xargs
-Befehls lautet:
xargs [Optionen] [Befehle]
-n N
: Gibt an, dass maximal N Argumente pro Befehl verwendet werden sollen.-d DELIMITER
: Legt ein benutzerdefiniertes Trennzeichen für die Eingabe fest.-p
: Fragt vor der Ausführung jedes Befehls um Bestätigung.-0
: Erwartet Null-terminierte Eingaben, nützlich für Dateinamen mit Leerzeichen.Um alle .tmp
-Dateien in einem Verzeichnis zu löschen, können Sie find
mit xargs
kombinieren:
find . -name "*.tmp" | xargs rm
Um die Anzahl der Zeilen in mehreren Textdateien zu zählen:
ls *.txt | xargs wc -l
Wenn die Eingabe durch ein Komma getrennt ist:
echo "file1,file2,file3" | xargs -d ',' cp -t /zielverzeichnis/
-n 1
, um jeden Eingabewert einzeln zu verarbeiten, was hilfreich sein kann, wenn Sie sicherstellen möchten, dass jeder Befehl unabhängig ausgeführt wird.xargs
mit find
, um komplexe Dateisuchen und -bearbeitungen effizient durchzuführen.-0
zu verwenden, wenn Sie mit Dateinamen arbeiten, die Leerzeichen oder spezielle Zeichen enthalten, um unerwartete Ergebnisse zu vermeiden.