12 Praktische Beispiele für Linux Xargs Command für Anfänger


Xargs ist ein großartiger Befehl, der Datenströme von der Standardeingabe liest und dann Befehlszeilen generiert und ausführt. Dies bedeutet, dass ein Befehl ausgegeben und als Argument eines anderen Befehls übergeben werden kann. Wenn kein Befehl angegeben wird, führt xargs standardmäßig das Echo aus. Sie viele weisen es auch an, Daten aus einer Datei anstelle von stdin zu lesen.

Es gibt verschiedene Möglichkeiten, wie xargs ist nützlich im täglichen Gebrauch der Kommandozeile. In diesem Artikel werden 12 praktische Linux xargs-Befehlsbeispiele für Anfänger erläutert.

1. Das erste Beispiel zeigt, wie Sie alle herausfinden .png Bilder und archivieren Sie sie mit dem Dienstprogramm tar wie folgt.

Hier der Aktionsbefehl -print0 Ermöglicht das Drucken des vollständigen Dateipfads in der Standardausgabe, gefolgt von einem Nullzeichen und -0 Das xargs-Flag behandelt effektiv das Leerzeichen in Dateinamen.

$ find Pictures/tecmint/ -name "*.png" -type f -print0 | xargs -0 tar -cvzf images.tar.gz
Finden Sie Bilder und archivieren Sie mit Tar
Finden Sie Bilder und archivieren Sie mit Tar

2. Sie können auch die mehrzeilige Ausgabe des Befehls ls mit in eine einzelne Zeile konvertieren xargs wie folgt.

$ ls -1 Pictures/tecmint/
$ ls -1 Pictures/tecmint/ | xargs
Listen Sie Dateien in einer Zeile auf
Listen Sie Dateien in einer Zeile auf


3. Verwenden Sie den folgenden Befehl, um eine kompakte Liste aller Linux-Benutzerkonten auf dem System zu erstellen.

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

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

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

5. Mit Xarags können Sie auch ein Verzeichnis suchen und rekursiv entfernen. Mit dem folgenden Befehl wird beispielsweise rekursiv entfernt DomTerm im Verzeichnis Downloads.

$ find Downloads -name "DomTerm" -type d -print0 | xargs -0 /bin/rm -v -rf "{}"
Verzeichnis suchen und rekursiv löschen
Verzeichnis suchen und rekursiv löschen

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" -type f -print0 | xargs -0 /bin/rm -v -rf "{}"

7. Als nächstes verwenden xargs eine Datei gleichzeitig in mehrere Verzeichnisse zu kopieren; In diesem Beispiel versuchen wir, die Datei zu kopieren.

$ echo ./Templates/ ./Documents/ | xargs -n 1 cp -v ./Downloads/SIC_Template.xlsx 
Datei in mehrere Verzeichnisse kopieren
Datei in mehrere Verzeichnisse kopieren

8. Sie können auch den Befehl find verwenden. xargs und benennen Sie Befehle zusammen um, um alle Dateien oder Unterverzeichnisse in einem bestimmten Verzeichnis wie folgt in Kleinbuchstaben umzubenennen.

$ find Documnets -depth | xargs -n 1 rename -v 's/(.*)/([^/]*)/$1/L$2/' {} ;

9. Hier ist ein weiteres nützliches Anwendungsbeispiel für xargsHier wird gezeigt, wie alle Dateien in einem Verzeichnis mit Ausnahme einer oder weniger Dateien mit einer bestimmten Erweiterung gelöscht werden.

$ find . -type f -not -name '*gz' -print0 | xargs -0 -I {} rm -v {}

10. Wie bereits erwähnt, können Sie anweisen xargs um Elemente aus einer Datei anstelle von Standardeingaben mit dem zu lesen -a Flagge wie gezeigt.

$ xargs -a rss_links.txt

11. Sie können die Ausführlichkeit mit dem aktivieren -t Flagge, die erzählt xargs um die Befehlszeile in der Standardfehlerausgabe zu drucken, bevor sie ausgeführt wird.

$ find Downloads -name "DomTerm" -type d -print0 | xargs -0 -t /bin/rm -rf "{}"

12. Standardmäßig, xargs Beendet / begrenzt Elemente mithilfe von Leerzeichen. Sie können die verwenden -d Flag, um das Trennzeichen zu setzen, das ein einzelnes Zeichen sein kann, ein C-Zeichen-Escape wie z noder ein oktaler oder hexadezimaler Escape-Code.

Darüber hinaus können Sie den Benutzer mithilfe der Taste auffordern, ob jede Befehlszeile ausgeführt und eine Zeile vom Terminal gelesen werden soll -p Flag wie gezeigt (einfach eingeben y zum Ja oder n zum Nein).

$ echo ./Templates/ ./Documents/ | xargs -p -n 1 cp -v ./Downloads/SIC_Template.xlsx 
Benutzer vor dem Ausführen des Befehls auffordern
Benutzer vor dem Ausführen des Befehls auffordern

Weitere Informationen finden Sie in der xargs Manpage.

$ man xargs 

Das war es fürs Erste! Xargs ist ein leistungsstarkes Dienstprogramm zum Erstellen 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 erläutert. Teilen Sie uns Ihre Gedanken oder Fragen über das unten stehende Feedback-Formular mit.


0 Comments

Leave a Reply