So verwenden Sie die Bash Xargs -Befehle

So verwenden Sie die Bash Xargs -Befehle

„Xargs ist ein Bash -Befehl, der die Ausführung mehrerer Befehle in derselben Zeile ermöglicht. Unabhängig davon. Mit Xargs können Sie mehrere Befehle über die Standardeingabe erstellen und ausführen.”

Um XARGs zu verstehen und zu verstehen, wie Sie es verwenden können, gibt dieser Artikel mehrere Beispiele für die Verwendung des XARGS -Befehls. Schau mal!

So verwenden Sie den Befehl xargs

Wie Sie den Befehl xargs verwenden, hängt davon ab, was Sie erreichen möchten. Wenn Sie XARGs ohne Eingabe verwenden, wird alles wiedergegeben, was Sie am Terminal eingeben, sobald Sie drücken Strg + d

Handhabung von Dateien und Verzeichnissen mithilfe von XARGs

Wenn Sie alle Dateien mit einer bestimmten Erweiterung finden möchten, können Sie XARGS verwenden. Lassen Sie uns ein Beispiel für die Verwendung von LS mit Xargs für Textdateien haben.

$ find . -Name '*.txt '-type f | xargs ls

Im obigen Befehl verwenden wir die finden Befehl zur Suche nach Dateien im aktuellen Verzeichnis mit a .TXT -Erweiterung.

Hier ist die Ausgabe

Wenn Sie alle Dateien löschen möchten, die wir mit dem obigen Befehl gefunden haben, können Sie den folgenden Befehl verwenden.

$ find . -Name '*.txt '-type f | xargs rm -f

Der -T Flag ist für ausführlich.

Angenommen, Sie wollten mehrere Verzeichnisse erstellen, in denen Sie die Eingabe aus der Standardeingabe hinzufügen. Wir könnten kombinieren Mkdir mit Echo, Wie im folgenden Beispiel.

$ echo 'Linux1 Tech2 Dir3 Dir2' | Xargs Mkdir

Wenn Sie alle Verzeichnisse im aktuellen Verzeichnis entfernen möchten, können Sie XARGs verwenden, wie unten gezeigt.

$ find . -Typ d | xargs rm -r

XARGS -Eingaben aus einer Datei lesen

Verwendung der -A Flag, Sie können Xargs wie in der folgenden Fälle anweisen, Elemente aus einer Datei zu lesen.

Mit dem gleichen Beispiel können wir demonstrieren, wie mehrere Befehle mit Xargs kombiniert werden können. Verwenden Sie dafür die -ICH Flagge.

Zum Beispiel können wir den folgenden Befehl verwenden, um den Inhalt einer Datei zu lesen und ein Verzeichnis mit jeder Zeichenfolge in der Datei zu erstellen.

$ cat 1.txt | Xargs -i % Mkdir %

Sie können den Befehl weiter abrufen, um den Inhalt der Datei beim Erstellen des Verzeichnisses zu wiederholen, indem Sie das hinzufügen Echo -Befehl, Wie nachfolgend dargestellt.

$ cat 1.txt | xargs -i % sh -c 'echo %; Mkdir %'

Verwenden von Xargs mit Grep

Der Befehl Grep wird für die Übereinstimmung von Mustern verwendet. Wenn Sie in verschiedenen Dateien nach einer bestimmten Zeichenfolge suchen möchten, können Sie XARGs verwenden, um zu kombinieren, um zu kombinieren finden mit Grep, wo die Ausgabe von finden wird in den Eingang umgewandelt, der von verwendet werden soll Grep.

Hier ist ein Beispiel, in dem wir alle Textdateien finden, die die Zeichenfolge enthalten „LinuxHint.”

$ find . -Name '*.txt '| Xargs Grep 'LinuxHint'

Ausgang pro Leitung einschränken

Angenommen, Sie möchten den Inhalt einer Datei lesen. Sie können die Anzahl der Ausgänge für jede Zeile mit dem begrenzen -N Möglichkeit.

Lassen Sie uns ein Beispiel für Druckzahlen in einem bestimmten Bereich verwenden SEQ Befehl und begrenzen die Ausgabe pro Zeile auf 4

$ SEQ 1 30 | Xargs -n 4

Angabe des Trennzeichens

Standardmäßig übernimmt Xargs einen leeren Platz als Trennzeichen. Wenn Sie jedoch einen anderen Trennzeichen verwenden müssen, müssen Sie die verwenden -D Befehl gefolgt vom Trennzeichen.

Hier ist ein Beispiel, das einen Dickdarm als Trennzeichen verwendet.

Hier sind der Inhalt unserer Datei.

Lassen Sie uns nun den Befehl unten ausführen.

$ cat namen.txt | xargs -d: | xargs -t mkdir

Die Ausgabe wäre:

Der Null -Trennzeichen

Wenn wir versucht haben, XARGs mit Dateien mit leerem Speicherplatz in den Namen zu verwenden, würde dies falsche Ergebnisse bringen, da Xargs den leeren Speicherplatz als Trennzeichen verwendet. In einem solchen Fall müssen wir die verwenden -0 Flag. Außerdem brauchen wir das -print0 Flag, das von Find verwendet wird, um eine von Null getrennte Liste anzuzeigen.

Angenommen, wir hatten die Bilddateien unten.

Wenn wir versucht haben, alle Dateien mit dem folgenden Befehl zu löschen, würde XARGS die Bilddateien nur ohne Speicherplatz in ihrem Namen drucken, wie unten gezeigt.

$ find . -Name '*.png '-typ f | xargs rm -f

Um dies zu überwinden, müssen wir das Flag -0 und den -print0 verwenden.

$ find . -Name '*.png '-typ f -print0 | xargs -0 rm -f

Wir können überprüfen, ob wir alle Dateien erfolgreich gelöscht haben.

Abschluss

Dieser Leitfaden hat den Befehl Bash Xargs ausführlich behandelt und gibt Beispiele für die Verwendung, um verschiedene Aspekte zu erreichen. In Bezug auf die vorgestellten Beispiele können Sie XARGs auf Ihrem Ende implementieren, um verschiedene Aufgaben auszuführen. Überprüfen Sie außerdem die Mannseite nach XARGS, um weitere Nutzungsdetails zu erhalten.