xargs ist ein Befehl in UNIX wie System, der Elemente aus der Standardeingabe liest durch Leerzeichen (die mit doppelten oder einfachen Anführungszeichen oder einem umgekehrten Schrägstrich geschützt werden können) oder Zeilenumbrüchen getrennt und führt den Befehl aus (Standard ist /bin/echo) einmal oder mehrmals mit Anfangsargumenten, gefolgt von Elementen, die von der Standardeingabe gelesen werden. Leerzeilen auf der Standardeingabe werden ignoriert.
Der xargs-Befehl ist sehr praktisch, wenn er mit anderen Befehlen kombiniert wird. Standardmäßig erwartet es Eingaben von STDIN .xargs wird im Wesentlichen verwendet, um die Ausgabe des ursprünglichen Befehls zu verbessern und die Ausgabe zum Ausführen zahlreicher Operationen zu verwenden .
In diesem Beitrag werden wir 11 praktische Beispiele für den Linux-xargs-Befehl besprechen
Beispiel:1 Grundlegende Verwendung von xargs
Geben Sie xargs ein, es erwartet eine Eingabe von uns, beginnen Sie mit der Eingabe mit der Eingabetaste für die nächste Zeile und führen Sie dann Strg+D aus um die Ausgabe wie unten zu sehen.
[email protected]:~$ xargs hello john this is me ( ctrl+d) hello john this is me [email protected]:~$home/Downloads#
Beispiel:2 Verwendung von Trennzeichen in xargs (-d)
Hier geben wir mit der Option -d ein Trennzeichen an , mit \n als Trennzeichen. Es gibt die Zeichenfolge zurück auf den Bildschirm, wenn wir Strg+D
drücken[[email protected] ~]# xargs -d\n Hi Welcome here Now press Ctrl+D Hi Welcome here Now press Ctrl+D [[email protected] ~]#
Beispiel:3 Ausgabe pro Zeile begrenzen (-n)
Wir können die Ausgabe je nach Anforderung mit der Option -n im Befehl xargs einschränken, um beispielsweise nur 2 Elemente pro Zeile anzuzeigen ,
[email protected]:~$ echo a1 b2 c3 d4 e45 a1 b2 c3 d4 e5 [email protected]:~$ echo a1 b2 c3 d4 e5 | xargs -n 2 a1 b2 c3 d4 e5 [email protected]:~$
Beispiel:4 Benutzeraufforderung vor der Ausführung aktivieren (-p)
Mit der Option -p im xargs-Befehl wird der Benutzer vor der Ausführung mit y aufgefordert (bedeutet ja) und n (bedeutet keine) Optionen.
[email protected]:~$ echo a1 b2 c3 d4 e5 | xargs -p -n 2 /echo a1 b2 ?...y a1 b2 echo c3 d4 ?...y c3 d4 echo e5 ?...n [email protected]:~$ [email protected]:~$ echo a1 b2 c3 d4 e5 | xargs -p -n 2 /echo a1 b2 ?...y a1 b2 echo c3 d4 ?...y c3 d4 echo e5 ?...y e5 [email protected]:~$
Beispiel:5 Dateien mit find und xargs löschen
Nehmen wir an, wir möchten *.txt-Dateien aus dem /tmp-Ordner löschen, führen Sie den folgenden Befehl aus,
[email protected]:~$ find /tmp -type f -name '*.txt' | xargs rm
Hinweis: Es wird immer empfohlen, die obige Kombination aus dem Befehl find und xargs zu verwenden, um mehr als 1000 Dateien zu löschen, da dies weniger Zeit und weniger Systemressourcen benötigt.
Beispiel:6 Verwenden Sie Xargs und den grep-Befehl für die Suche
Wir können den Befehl grep mit xargs verwenden, um die bestimmte Suche aus dem Ergebnis des Befehls find herauszufiltern. Ein Beispiel ist unten gezeigt:
[email protected]:~$ find . -name "stamp" | xargs grep "country" country_name [email protected]:~$
Beispiel:7 Umgang mit Leerzeichen in Dateinamen
xargs kann auch mit Leerzeichen in Dateien umgehen, indem es print0 verwendet und xargs -0 Argumente um den Befehl zu finden.
[email protected]:~$ find /tmp -name "*.txt" -print0 | xargs -0 ls /tmp/abcd asd.txt /tmp/asdasd asdasd.txt /tmp/cdef.txt [email protected]:~$ find /tmp -name "*.txt" -print0 | xargs -0 rm [email protected]:~$
Beispiel:8 xargs mit cut-Befehl verwenden
Lassen Sie uns für die Demonstration zuerst eine cars.txt mit folgendem Inhalt erstellen:
[email protected]:~$ cat cars.txt Hundai,Santro Honda,Mobilio Maruti,Ertiga Skoda,Fabia
Um Daten in der ersten Spalte anzuzeigen wie unten gezeigt.
[email protected]:~$ cut -d, -f1 cars.txt | sort | xargs Honda Hundai Maruti Skoda [email protected]:~$
Beispiel:9 Zählen Sie die Anzahl der Zeilen in jeder Datei
[email protected]:~$ ls -1 *.txt | xargs wc -l 4 cars.txt 13 trucks.txt 17 total [email protected]:~$
Beispiel:10 Dateien an einen anderen Ort verschieben
[email protected]:~$ pwd /home/linuxtechi [email protected]:~$ ls -l *.sh -rw-rw-r-- 1 linuxtechi linuxtechi 0 Sep 15 22:53 abcde.sh -rw-rw-r-- 1 linuxtechi linuxtechi 0 Sep 15 22:53 abcd.sh -rw-rw-r-- 1 linuxtechi linuxtechi 0 Sep 15 22:53 fg.sh [email protected]:~$ sudo find . -name "*.sh" -print0 | xargs -0 -I {} mv {} backup/ [email protected]:~$ ls -ltr backup/ total 0 -rw-rw-r-- 1 linuxtechi linuxtechi 0 Sep 15 22:53 abcd.sh -rw-rw-r-- 1 linuxtechi linuxtechi 0 Sep 15 22:53 abcde.sh -rw-rw-r-- 1 linuxtechi linuxtechi 0 Sep 15 22:53 fg.sh [email protected]:~$
Beispiel:11 Zeichenfolge im Xargs-Befehl ersetzen (-i)
Wenn wir den folgenden Befehl ausführen, werden drei Dateien a, b und c im aktuellen Arbeitsverzeichnis erstellt
[email protected]:~$ printf "a\nb\nc\n" | xargs touch
Wenn Sie a.txt, b.txt und c.txt erstellen möchten, verwenden Sie den Parameter -i im xargs-Befehl, er ersetzt eine Zeichenfolge „a ‘ mit a.txt und so weiter
[email protected]:~$ printf "a\nb\nc\n" | xargs -i touch {}.txt
Das ist alles aus diesem Artikel, ich hoffe, diese xargs-Befehlsbeispiele sind informativ für Sie. Fühlen Sie sich frei, Ihr Feedback und Ihre Kommentare zu teilen.