10 Praktische Beispiele für Linux Cut-Befehle zum Auswählen von Dateispalten
Der Linux-Befehl cut wird für die Textverarbeitung verwendet. Mit diesem Befehl können Sie einen Teil des Textes aus einer Datei extrahieren, indem Sie Spalten auswählen.
Dieses Lernprogramm enthält einige praktische Beispiele für Ausschneidebefehle, die Sie für Ihre täglichen Befehlszeilenaktivitäten verwenden können.
Für den größten Teil des Beispiels verwenden wir die folgende Testdatei.
$ cat test.txtcat command for file oriented operations.cp command for copy files or directories.ls command to list out files and directories with its attributes.
Wählen Sie die Zeichenspalte
Um nur eine gewünschte Spalte aus einer Datei zu extrahieren, verwenden Sie die Option -c. Das folgende Beispiel zeigt das zweite Zeichen aus jeder Zeile einer Datei test.txt
$ cut -c2 test.txtaps
Wie oben gezeigt, sind die Zeichen a, p, s das zweite Zeichen aus Jede Zeile der Datei test.txt.
Zeichenspalte mit Bereich auswählen
Der Zeichenbereich kann auch aus einer Datei extrahiert werden, indem die mit – getrennte Start- und Endposition angegeben wird. Im folgenden Beispiel werden die ersten drei Zeichen jeder Zeile aus einer Datei mit dem Namen test.txt extrahiert.
$ cut -c1-3 test.txtcatcpls
Wählen Sie die Zeichenspalte mit der Start- oder Endposition
aus
Mit der Option -c kann entweder die Startposition oder die Endposition an den Befehl cut übergeben werden.
Im Folgenden wird nur die Startposition vor dem ‚-‚ angegeben. In diesem Beispiel wird aus dem 3. Zeichen bis zum Ende jeder Zeile aus der Datei test.txt extrahiert.
$ cut -c3- test.txtt command for file oriented operations. command for copy files or directories. command to list out files and directories with its attributes.
Im Folgenden wird nur die Endposition nach dem „-“ angegeben. In diesem Beispiel werden 8 Zeichen vom Anfang jeder Zeile aus der Datei test.txt extrahiert.
$ cut -c-8 test.txtcat commcp commals comma
Die gesamte Zeile wird gedruckt, wenn Sie keine Nummer angeben vor oder nach dem ‚-‚ wie unten gezeigt.
$ cut -c- test.txtcat command for file oriented operations.cp command for copy files or directories.ls command to list out files and directories with its attributes.
Wählen Sie ein bestimmtes Feld aus einer Datei aus
Anstatt x Anzahl von auszuwählen Zeichen, wenn Sie ein ganzes Feld extrahieren möchten, können Sie die Optionen -f und -d kombinieren. Die Option -f gibt an, welches Feld Sie extrahieren möchten, und die Option -d gibt an, welches Feldtrennzeichen in der Eingabedatei verwendet wird.
Im folgenden Beispiel wird nur das erste Feld jeder Zeile aus / angezeigt etc / passwd Datei mit dem Feldtrennzeichen: (Doppelpunkt). In diesem Fall ist das 1. Feld der Benutzername. Die Datei
$ cut -d":" -f1 /etc/passwdrootdaemonbinsyssyncgamesbala
Mehrere Felder aus einer Datei auswählen
Sie können auch mehr als ein Feld aus einer Datei oder einem Standard extrahieren. Das folgende Beispiel zeigt den Benutzernamen und das Ausgangsverzeichnis der Benutzer mit der Anmeldeshell als „/ bin / bash“ an.
$ grep "/bin/bash" /etc/passwd | cut -d":" -f1,6root:/rootbala:/home/bala
Um den Feldbereich anzuzeigen, geben Sie das Startfeld an und Endfeld wie unten gezeigt. In diesem Beispiel wählen wir die Felder 1 bis 4, 6 und 7 aus.
$ grep "/bin/bash" /etc/passwd | cut -d":" -f1-4,6,7root:x:0:0:/root:/bin/bashbala:x:1000:1000:/home/bala:/bin/bash
Nur Felder auswählen, wenn eine Linie das Trennzeichen enthält
Wenn Sie in unserem Beispiel / etc / passwd ein anderes Trennzeichen als: (Doppelpunkt) übergeben, wird beim Ausschneiden nur die gesamte Zeile angezeigt.
Im folgenden Beispiel werden wir ‚ Wir haben das Trennzeichen als | (Pipe) angegeben, und der Befehl cut zeigt einfach die gesamte Zeile an, auch wenn keine Zeile mit | (Pipe) als Trennzeichen gefunden wird.
$ grep "/bin/bash" /etc/passwd | cut -d"|" -f1root:x:0:0:root:/root:/bin/bashbala:x:1000:1000:bala,,,:/home/bala:/bin/bash
Mit der Option -s können jedoch nur die Zeilen gefiltert und angezeigt werden, die das angegebene Trennzeichen enthalten.
Im folgenden Beispiel wird keine Ausgabe angezeigt, wie dies beim Befehl cut nicht der Fall war In der Datei / etc / passwd werden keine Zeilen mit | (Pipe) als Trennzeichen gefunden.
$ grep "/bin/bash" /etc/passwd | cut -d"|" -s -f1
Alle Felder außer den angegebenen Feldern auswählen
Um die Auswahlfeldliste zu ergänzen, verwenden Sie die Option –komplement.
Das folgende Beispiel wird angezeigt Alle Felder aus der Datei / etc / passwd mit Ausnahme von Feld 7
$ grep "/bin/bash" /etc/passwd | cut -d":" --complement -s -f7root:x:0:0:root:/rootbala:x:1000:1000:bala,,,:/home/bala
Ausgabetrennzeichen für Anzeige ändern
Standardmäßig ist das Ausgabetrennzeichen identisch Als Eingabetrennzeichen, das wir in der Option cut -d angeben.
Um das Ausgabetrennzeichen zu ändern, verwenden Sie die Option –ausgabetrennzeichen wie unten gezeigt. In diesem Beispiel lautet das Eingabetrennzeichen: (Doppelpunkt), das Ausgabetrennzeichen jedoch # (Hash).
$ grep "/bin/bash" /etc/passwd | cut -d":" -s -f1,6,7 --output-delimiter="#"root#/root#/bin/bashbala#/home/bala#/bin/bash
Ändern Sie das Ausgabetrennzeichen in Newline
In diesem Beispiel wird jedes Feld der Ausgabe des Schnittbefehls in einer separaten Zeile angezeigt. Wir haben immer noch –output-delimiter verwendet, aber der Wert ist $ ‚\ n‘, was angibt, dass wir eine neue Zeile als Ausgabetrennzeichen hinzufügen sollten.
$ grep bala /etc/passwd | cut -d":" -f1,6,7 --output-delimiter=$"\n"bala/home/bala/bin/bash
Kombinieren Ausschneiden mit anderen Unix-Befehlen
Die Leistung des Befehls cut kann realisiert werden, wenn Sie ihn mit dem Standard eines anderen Unix-Befehls kombinieren.
Sobald Sie die grundlegende Verwendung des Befehls cut beherrschen Wie oben erläutert, können Sie den Befehl cut mit Bedacht verwenden, um viele Ihrer Anforderungen an die Textmanipulation zu lösen.
Das folgende Beispiel zeigt, wie Sie nur nützliche Informationen aus der Ausgabe des Befehls ps extrahieren können. Wir haben auch gezeigt, wie wir die Ausgabe des Befehls ps mit grep und sed gefiltert haben, bevor die endgültige Ausgabe an den Befehl cut übergeben wurde.Hier haben wir die Schnittoptionen -d und -f verwendet, die wir in den obigen Beispielen erläutert haben.
Wenn Ihnen dieser Artikel gefallen hat, könnte Ihnen auch gefallen ..
|
|