XARGS -Befehl unter Linux mit nützlichen Beispielen

XARGS -Befehl unter Linux mit nützlichen Beispielen

Xargs ist ein linux/unix -leistungsstarker Befehl zum Erstellen und Ausführen von Befehlszeilen von Standardeingaben. Es nimmt die Ausgabe eines Befehls aus und gibt ihn als Argument eines anderen Befehls weiter. Xargs nimmt Standardeingaben auf, die durch Leerzeichen oder Newlines abgegrenzt wurden, und führt den Befehl ein oder mehrmals mit allen Argumenten aus, gefolgt von Elementen. Leere Zeilen auf der Standardeingabe werden ignoriert.

Syntax

Xargs [Option]… Befehl [Initial-Args]… 

Hier wird der Befehl mit Argumenten initialen Args und weiteren Argumenten aus der Eingabe ausgeführt.

XARGS -Befehlsoptionen

Die XARGS -Befehle bieten eine begrenzte Anzahl von Befehlszeilenargumenten, aber genug, um ihre Funktionen zu verwenden.

  • -0, -null - Die Gegenstände werden durch einen Null getrennt, nicht durch Weißwinkel
  • -a, --arg-file = Datei - Lesen Sie Argumente aus der Datei, nicht die Standardeingabe.
  • -D, -Delimiter = Zeichen - Die Elemente im Eingangsstrom sind durch Zeichen getrennt, nicht durch Weißespace
  • -E Ende - Stellen Sie eine Zeichenfolge als Anmeldung EOF ein. Wenn die Zeichenfolge gefunden wird, wird der Rest ignoriert.
  • -L,-max lines = max-lines - Geben Sie die maximale Anzahl von Zeilen (Nicht-Blank) an, um sie als Eingabe in der Befehlszeile zu erhalten
  • -n,-max-args = max-args - Geben Sie maxe Argumente pro Befehlszeile an
  • -P,-max-procs = max-procs - Geben Sie maximale Prozesse an, die gleichzeitig ausgeführt werden sollen
  • -P, -interaktiv - Führen Sie Prozesse interaktiv mit Eingabeaufforderung aus, bevor Befehle ausgeführt werden
  • -r,-no-run-if-leer - Führen Sie den Befehl nicht aus, wenn Eingabargumente leer sind.
  • -t, --verbose - Drucken Sie alle Befehle auf dem Bildschirm aus, um sie auszuführen

XARGS -Befehlsbeispiele

Beispiel 1. Kopieren Sie eine große Anzahl von Dateien in einen anderen Ordner.

Manchmal mussten wir eine lange Liste von Dateien kopieren, in diesem Fall ist der Befehl CP mit Fehler „Argumentliste zu lang“ fehlgeschlagen, in dem CP fehlgeschlagen ist. Wir können XARGs verwenden, um diese Aufgabe zu erledigen.

Finden / Backup / -typ f | xargs -n1 -i cp /var/www/backup/  
Beispiel 2: Mehrere Dateien aus einem Ordner löschen.

Manchmal müssen wir eine große Anzahl von Dateien aus einem Ordner löschen. Nachfolgend Beispiel löschen alle .Protokolldateien aus /var /log -Verzeichnis.

Finden Sie/var/www/tmp/-typ f | xargs rm -f  

Das obige Befehl kann keine Dateien mit in benannten Leerzeichen entfernen. Um Leerzeichen im Befehl xargs zu verarbeiten.

Finden Sie/var/www/tmp/-typ f -print0 | xargs -0 rm -f  
Beispiel 3: Anzahl der Zeilen in mehreren Dateien zählen.

Nachfolgend zählt die Anzahl der Zeilen für jeden .TXT -Datei in /opt -Verzeichnis und dessen Unterverzeichnis

Finden /opt -name "*.txt "| xargs wc -l  

Verwenden Sie den folgenden Befehl, um Dateien zu verarbeiten, die Leerzeichen enthalten.

Finden / opt / -name "**.log "-print0 | xargs -0 wc -l  
Beispiel 4: Machen Sie eine Sicherung aller Konfigurationsdateien.

Wenn Sie eine Sicherung aller Konfigurationsdateien (Erweiterung .Conf) In Ihrem System unter Verwendung des folgenden Befehls verwenden.

Finden Sie / -name "**.conf "| xargs tar czf config.Teer.gz  
ls -l config.Teer.gz  -rw-r-r--. 1 Root Root 193310 Apr 1 13:26 Konfiguration.Teer.gz 
Beispiel 5. Verwenden Sie Custome Delimeter mit Xargs.

Wir können auch benutzerdefinierten Delemeter mit Xargs -Befehl verwenden, standardmäßig verwendet es Platz und neue Zeile als Delimeter. Verwenden Sie den Parameter, um den Delimeter zu definieren.

Echo "1,2,3,4,5" | Xargs -d, Echo  

Ausgang:

1 2 3 4 5 
Beispiel 6: Ausgabe in Sepreate Line mit Xargs anzeigen.

In Beispiel 5 OUPUT wird in einer einzelnen Zeile angezeigt.

Echo "1,2,3,4,5" | Xargs -d, -l 1 Echo  

Ausgang:

1 2 3 4 5 
Beispiel 7: Umgang mit leerem Platz in Dateinamen oder Pfad.

Um Leerzeichen in Namen zu verarbeiten, verwenden.

FIND /TMP -print0 | xargs -0 -l 1 Echo