Bash Wiki
Posts (Latest 30 updated) :
Read all
Contents:
  1. [Linux] Bash xargs Verwendung: Befehle mit Argumenten verarbeiten
    1. Übersicht
    2. Verwendung
    3. Häufige Optionen
    4. Häufige Beispiele
      1. Beispiel 1: Dateien löschen
      2. Beispiel 2: Anzahl der Zeilen in mehreren Dateien zählen
      3. Beispiel 3: Benutzerdefiniertes Trennzeichen verwenden
    5. Tipps

[Linux] Bash xargs Verwendung: Befehle mit Argumenten verarbeiten

Übersicht

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.

Verwendung

Die grundlegende Syntax des xargs-Befehls lautet:

xargs [Optionen] [Befehle]

Häufige Optionen

  • -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.

Häufige Beispiele

Beispiel 1: Dateien löschen

Um alle .tmp-Dateien in einem Verzeichnis zu löschen, können Sie find mit xargs kombinieren:

find . -name "*.tmp" | xargs rm

Beispiel 2: Anzahl der Zeilen in mehreren Dateien zählen

Um die Anzahl der Zeilen in mehreren Textdateien zu zählen:

ls *.txt | xargs wc -l

Beispiel 3: Benutzerdefiniertes Trennzeichen verwenden

Wenn die Eingabe durch ein Komma getrennt ist:

echo "file1,file2,file3" | xargs -d ',' cp -t /zielverzeichnis/

Tipps

  • Verwenden Sie -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.
  • Kombinieren Sie xargs mit find, um komplexe Dateisuchen und -bearbeitungen effizient durchzuführen.
  • Achten Sie darauf, -0 zu verwenden, wenn Sie mit Dateinamen arbeiten, die Leerzeichen oder spezielle Zeichen enthalten, um unerwartete Ergebnisse zu vermeiden.