Wie löste Sie die Ausgabe eines Befehls in eine Datei unter Linux aus?

Wie löste Sie die Ausgabe eines Befehls in eine Datei unter Linux aus?
A Rohr ist ein Befehl, der von den meisten Linux -Benutzern verwendet wird, um die Ausgabe eines Befehls in eine beliebige Datei umzuleiten. UNIX- und Linux -Betriebssysteme verwenden diesen Befehl zum Senden der Ausgabe eines Prozesses, der Ausgabe oder des Programms als Eingabe an einen anderen Prozess. Diese Betriebssysteme ermöglichen die Verbindung zwischen den Befehlen STDOut und STDIN. Das Rohrcharakter '|' kann für die Erfüllung dieser Funktion verwendet werden.

Es ist auch möglich, es als eine vorübergehende, aber direkte Verbindung zwischen zwei oder mehr Prozessen, Befehlen oder Programmen zu betrachten. Filter sind die Befehlszeilenprogramme, die die zusätzliche Verarbeitung durchführen.

Diese direkte Verbindung zwischen Prozessen oder Befehlen ermöglicht es ihnen, die Daten gleichzeitig auszuführen und zu übergeben, ohne sich der Mühe zu stellen, den Anzeigebildschirm oder temporäre Textdateien zu überprüfen. In der Pipeline erfolgt der Datenfluss von links nach rechts, wodurch die Rohre unidirektional sind. Schauen wir uns nun einige praktische Beispiele für die Verwendung von Rohren unter Linux an.

Die Liste der Dateien und Verzeichnisse leiten:

Im ersten Beispiel haben wir veranschaulicht, wie Sie den Befehl pipe verwenden können mehr Befehle.

$ ls -l | mehr

Hier wird die Ausgabe von „LS“ als Eingabe von dem Befehl „More“ angesehen. Zu Zeit. Das Rohr bietet die Containerfunktion für den Empfang der LS -Befehlsausgabe und das Übergeben an weitere Befehle als Eingabe.

Da der Hauptspeicher die Pipe -Implementierung durchführt, wird in diesem Befehl die CD nicht zum Erstellen einer Verbindung zwischen LS -L -Standardausgabe für die Standardeingabe von More -Befehl verwendet. Der obige Befehl ist analog zu den folgenden Befehlsreihen in Bezug auf Operatoren der Eingabe/Ausgabeumleitung.

$ ls -l> tempel
$ mehr < temp

Schauen Sie sich den Inhalt "temporuelle" Datei manuell an.

$ rm temp

Sortieren und drucken einzigartige Werte mit Pipes:

Jetzt werden wir ein Beispiel für Rohrverbrauch sehen, um einen Dateiinhalt zu sortieren und seine eindeutigen Werte zu drucken. Zu diesem Zweck werden wir die Befehle „Sortier“ und „Uniq“ mit einer Pfeife kombinieren. Wählen Sie jedoch zuerst eine Datei mit numerischen Daten aus, in unserem Fall haben wir den „Datensatz.txt ”Datei.

Schreiben Sie den folgenden Befehl auf, damit Sie vor der Pipeline-Verarbeitung eine klare Vorstellung von den Dateidaten haben.

$ cat Record.txt

Die Ausführung des untergegebenen Befehls sortiert nun die Dateidaten, während die eindeutigen Werte im Terminal angezeigt werden.

$ sortieren rekord.txt | Uniq

Rohrverbrauch mit Kopf- und Schwanzbefehlen

Sie können auch Befehle „Kopf“ und „Schwanz“ verwenden, um Zeilen aus einer Datei in einem bestimmten Bereich auszudrucken.

$ cat samplefile | Kopf -7 | Schwanz -5

Der Ausführungsprozess dieses Befehls wählt die ersten sieben Zeilen von „SampleFile“ als Eingabe aus und übergibt dies an den Schwanzbefehl. Der Befehl Tail ruft die letzten 5 Zeilen von „SampleFile“ ab und druckt sie im Terminal aus. Der Fluss zwischen der Befehlsausführung ist alles auf Rohre zurückzuführen.

Übereinstimmung mit einem bestimmten Muster in Matching -Dateien mithilfe von Rohren abgleichen

Rohre können zum Auffinden von Dateien mit einer bestimmten Erweiterung in der extrahierten Liste des LS -Befehls verwendet werden.

$ ls -l | finden ./ -typ f -name "**.txt"

Rohrbefehl in Kombination mit "Grep", "Tee" und "WC"

Dieser Befehl wählt den "Alex" aus "Record" aus.TXT ”-Datei und im Terminal werden die Gesamtzahl der Vorkommen des Musters„ Alex “ausgedrucken. Hier kombinierte die Pfeife "Katze", "Grep", "T -Shirt" und "WC" Befehle.

$ cat Record.txt | Grep "Alex" | Teedatei1.txt | WC -l
$ cat file1.txt

Abschluss:

Eine Pipe ist ein Befehl, der von den meisten Linux -Benutzern verwendet wird, um die Ausgabe eines Befehls in eine beliebige Datei umzuleiten. Das Rohrcharakter '|' kann verwendet werden, um eine direkte Verbindung zwischen der Ausgabe eines Befehls als Eingabe des anderen zu erreichen. In diesem Beitrag haben wir verschiedene Methoden zur Ausgabe eines Befehls an das Terminal und die Dateien gesehen.