12 Praktische Beispiele für den Befehl Linux Xargs für Anfänger

12 Praktische Beispiele für den Befehl Linux Xargs für Anfänger

Xargs ist ein großartiger Befehl, der Datenströme aus Standardeingaben liest und dann Befehlszeilen generiert und ausführt. Dies bedeutet. Wenn kein Befehl angegeben ist, führt Xargs standardmäßig das Echo aus. Sie wiesen es auch an, Daten aus einer Datei anstelle von Stdin zu lesen.

Es gibt verschiedene Möglichkeiten, mit denen Xargs ist nützlich bei der täglichen Verwendung der Befehlszeile. In diesem Artikel werden wir 12 praktische Befehlsbeispiele für Linux Xargs für Anfänger erklären.

1. Das erste Beispiel zeigt, wie man alle herausfindet .png Bilder und archivieren Sie sie mit dem TAR -Dienstprogramm wie folgt.

Hier der Aktionsbefehl -print0 Ermöglicht das Drucken des vollständigen Dateipfads auf der Standardausgabe, gefolgt von einem Nullzeichen und -0 Xargs Flag befindet sich effektiv mit Platz in Dateinamen.

$ find pictures/ tecmint/ -name "**.png "-typ f -print0 | xargs -0 tar -cvzf Bilder.Teer.gz 
Finden Sie Bilder und Archiv mit Teer

2. Sie können die Muti-Linie-Ausgabe vom LS-Befehl auch in eine einzelne Zeile konvertieren Xargs folgendermaßen.

$ ls -1 bilder/ tecmint/ $ ls -1 bilder/ tecmint/ | Xargs 
Listen Sie Dateien in einer Zeile auf

3. Verwenden Sie den folgenden Befehl, um eine kompakte Liste aller Linux -Benutzerkonten im System zu generieren.

$ cut -d: -f1 < /etc/passwd | sort | xargs 
Suchen Sie die Liste der Linux -Benutzer

4. Angenommen, Sie haben eine Liste von Dateien, und Sie möchten die Anzahl von wissen Zeilen/Wörter/Zeichen In jeder Datei in der Liste können Sie LS -Befehl verwenden und Xargs Zu diesem Zweck wie folgt.

$ ls * hochladen * | xargs wc 
Zählen Sie Anzahl der Zeilen, Wörter und Zeichen in Dateien

5. Mit Xarags können Sie auch ein Verzeichnis finden und rekursiv entfernen. Beispielsweise wird der folgende Befehl rekursiv entfernt Dommed im Verzeichnis Downloads.

$ find downloads -name "domterm" -Type d -print0 | xargs -0 /bin /rm -v -rf "" 
Finden und rekursiv löschen Verzeichnis

6. Ähnlich wie beim vorherigen Befehl können Sie auch alle benannten Dateien finden net_stats im aktuellen Verzeichnis und löschen Sie sie.

$ find . -Name "net_stats" -Typ f -print0 | xargs -0 /bin /rm -v -rf "" 

7. Als nächstes verwenden Sie Xargs Kopieren einer Datei in mehreren Verzeichnissen gleichzeitig; In diesem Beispiel versuchen wir, die Datei zu kopieren.

$ echo ./Vorlagen/ ./ Dokumente/ | xargs -n 1 cp -v ./Downloads/sic_template.xlsx 
Datei in mehrere Verzeichnisse kopieren

8. Sie können auch den Befehl Find verwenden, Xargs Benennen Sie die Befehle zusammen, um alle Dateien oder Unterverzeichnisse in einem bestimmten Verzeichnis in Kleinbuchstaben wie folgt zu benennen.

$ find documnets -depth | xargs -n 1 benennen -v 's/((.*) \/([^\/]*)/$ 1 \/\ l $ 2/' \; 

9. Hier ist ein weiteres nützliches Nutzungsbeispiel für Xargs, Es zeigt, wie alle Dateien in einem Verzeichnis gelöscht werden, mit Ausnahme eines oder wenigen Dateien mit einer bestimmten Erweiterung.

$ find . -Typ f -not -name '*gz' -print0 | xargs -0 -i  rm -v  

10. Wie bereits erwähnt, können Sie unterweisen Xargs Lesen Sie Elemente aus einer Datei anstelle von Standardeingaben mit dem -A Flagge wie gezeigt.

$ xargs -a rss_links.txt 

11. Sie können Ausführlichkeit mit dem aktivieren -T Flagge, die erzählt Xargs So drucken Sie die Befehlszeile in der Standardfehlerausgabe vor der Ausführung.

$ find downloads -name "domterm" -Type d -print0 | xargs -0 -t /bin /rm -rf "" 

12. Standardmäßig, Xargs Beendet/macht Elemente mit leeren Leerzeichen ab. Sie können die verwenden -D Flag, um den Trennzeichen zu setzen, der ein einzelnes Zeichen sein kann, ein C-Stil-Flucht \N, oder ein Oktal- oder Hexadezimal -Fluchtcode.

Außerdem können Sie den Benutzer darüber auffordern, ob jede Befehlszeile ausgeführt werden und eine Zeile vom Terminal vom Terminal ausgelesen werden soll -P Flagge wie gezeigt (einfach eingeben y für Ja oder N für NEIN).

$ echo ./Vorlagen/ ./ Dokumente/ | xargs -p -n 1 cp -v ./Downloads/sic_template.xlsx 
Eingabe des Benutzer vor dem Ausführen des Befehls

Weitere Informationen finden Sie in der Xargs Mann Seite.

$ MAN XARGS 

Das war es fürs Erste! Xargs ist ein leistungsstarkes Dienstprogramm für den Aufbau einer Befehlszeile; Es kann Ihnen helfen, die Ausgabe eines Befehls als Argument eines anderen Befehls zur Verarbeitung zu übergeben. In diesem Artikel haben wir 12 praktische XARGS -Befehlsbeispiele für Anfänger erklärt. Teilen Sie Ihre Gedanken oder Fragen über das Feedback -Formular unten mit.