So führen Sie Befehle aus Standardeingaben mit T -Shirt und Xargs unter Linux aus

So führen Sie Befehle aus Standardeingaben mit T -Shirt und Xargs unter Linux aus

Während Sie die Befehlszeile verwenden, können Sie die Ausgabe eines Programms (z. B. ein Tool, das einige Systeminformationen oder Statistiken generiert) als Eingabe für ein anderes Programm (z. awk, zur weiteren Verarbeitung) mit einer Pipeline.

[Möglicherweise mögen Sie auch: Erfahren Sie die Grundlagen, wie Linux -E/A (Eingabe/Ausgabe) Umleitung funktioniert

Zwei der wichtigsten Befehlszeilen -Dienstprogramme, die mit Pipelines zum Erstellen von Befehlszeilen verwendet werden können, sind:

  • XARGS - liest Datenströme aus Standardeingaben und generiert und führt Befehlszeilen aus.
  • TEE - liest aus Standardeingaben und schreibt gleichzeitig in die Standardausgabe und eine oder viele Dateien. Es ist eher ein Umleitungsbefehl.

In diesem einfachen Artikel werden wir beschreiben, wie Sie mehrere Befehle aus Standardeingaben erstellen und ausführen können Rohre, Tee, Und Xargs Befehle in Linux.

Die einfachste Syntax für die Verwendung a Rohr, Was Sie in vielen unserer Linux -Tutorials bereits in Befehlen gesehen haben, ist wie folgt. Sie können jedoch eine längere Befehlszeile mit mehreren Befehlen erstellen.

$ command1 args | command2 args oder # command1 args | command2 args | command3 args… 

Unten finden Sie ein Beispiel für die Verwendung einer Pipeline, um die Ausgabe des DMESG -Befehls an den Kopfbefehl zu übergeben.

$ dmesg | Kopf 
Übergeben Sie den Befehlsausgabe an einen anderen Befehl

So verwenden Sie XARGs, um Befehle auszuführen

In diesem Beispiel wandelt der zweite Befehl die Muti-Linie-Ausgabe mit XARGs in eine einzelne Zeile um.

$ ls -1 *.Sh $ ls -1 *.Sh | Xargs 
Führen Sie Befehle mit Xargs aus

Verwenden Sie die folgenden Befehle, um die Anzahl der Zeilen/Wörter/Zeichen in jeder Datei in einer Liste in einer Liste zu zählen.

$ ls *.Sh | XARGS WC -L #COUNT Anzahl der Zeilen in jeder Datei $ ls *.Sh | XARGS WC -W #COUNT Anzahl der Wörter in jeder Datei $ ls *.Sh | xargs wc -c #count Anzahl der Zeichen in jeder Datei $ ls *.Sh | Xargs WC #Count -Zeilen, Wörter und Zeichen in jeder Datei 
Zählen Sie Dateiwörter mit XARGs

Der folgende Befehl findet und rekursiv das benannte Verzeichnis Alle im aktuellen Verzeichnis.

$ find . -Name "Alle"-Type d -print0 | xargs -0 /bin /rm -rf"  " 

Der Befehl zum Finden mit der Option -print0 Aktion ermöglicht das Drucken des vollständigen Verzeichnispfads auf der Standardausgabe, gefolgt von einem Nullzeichen und -0 xargs FLAW befasst sich mit Platz in Dateinamen.

Sie können andere praktische finden XARGS -Befehl Verwendungsbeispiele in diesen Artikeln:

  • So kopieren Sie eine Datei in mehrere Verzeichnisse unter Linux
  • Benennen Sie alle Dateien und Verzeichnisnamen in Kleinbuchstaben in Linux um
  • 4 Möglichkeiten, um Ihre PNG in JPG und umgekehrt umzuwandeln
  • 3 Möglichkeiten zum Löschen aller Dateien in einem Verzeichnis mit Ausnahme eines oder wenigen Dateien mit Erweiterungen

So verwenden Sie Tee mit Befehlen unter Linux

In diesem Beispiel wird angezeigt, wie die Befehlsausgabe an die Standardausgabe gesendet und in einer Datei speichert. Mit dem folgenden Befehl können Sie die oberen laufenden Prozesse nach dem höchsten Speicher und der CPU -Verwendung unter Linux anzeigen.

$ PS -EO CMD, PID, PPID,%mem,%cpu - -sort = -%mem | Kopf | TEET -TOPPROCS.txt $ cat topprocs.txt 
Befehlsausgabe in Datei speichern

Um Daten in einer vorhandenen Datei (n) anzuhängen, übergeben Sie die -A Flagge.

$ PS -EO CMD, PID, PPID,%mem,%cpu - -sort = -%mem | Kopf | Tee -a toppprocs.txt 

Weitere Informationen finden Sie unter dem Tee Und Xargs Mannseiten.

$ MAN XARGS $ MAN TEE 

Das ist alles! Vergessen Sie nicht, unseren speziellen Artikel zu lesen: A - Z Linux -Befehle - Übersicht mit Beispielen.

In diesem Artikel haben wir beschrieben, wie man Befehlszeilen mit Pipelines generiert. Xargs und Tee -Befehle. Sie können Fragen stellen oder Gedanken über das Feedback -Formular unten teilen.