GNU/Linux >> LINUX-Kenntnisse >  >> Linux

Linux cut Befehl erklärt mit 6 Beispielen

Einführung

Der cut command ist ein Befehlszeilendienstprogramm, mit dem Sie Abschnitte einer bestimmten Datei oder geleitete Daten ausschneiden und das Ergebnis auf der Standardausgabe ausgeben können. Der Befehl schneidet Teile einer Zeile nach Feld, Trennzeichen, Byteposition und Zeichen ab.

In diesem Tutorial lernen Sie, was der cut Befehl ist und wie man ihn benutzt.

Voraussetzungen

  • Ein System, auf dem Linux ausgeführt wird.
  • Zugriff auf ein Terminal.

Cut-Befehlssyntax

Der cut Befehl hat die folgende Syntax:

cut [option] [file]

Optionen

Angeben einer [option] ist notwendig. Andernfalls gibt der Befehl einen Fehler aus. Verfügbare Optionen werden im folgenden Abschnitt beschrieben.

Datei

Für [file] , geben Sie den Namen der Datei ein, die Sie verarbeiten möchten. Wenn Sie keinen Dateinamen angeben, wird der cut angewiesen Befehl zum Lesen von der Standardeingabe, in diesem Fall cut filtert die Pipeline. Wenn Sie mehrere Dateinamen angeben, wird der cut Befehl verkettet den angeforderten Inhalt.

Cut-Befehlsoptionen

Der cut Befehlsoptionen bieten Anweisungen zur Verwendung eines Trennzeichens, zum Schneiden nach Byte-Position, Feld oder Zeichen. Verwenden Sie für jeden cut eine einzige Option Befehl, den Sie ausführen.

Die verfügbaren Optionen sind:

Option Beschreibung
-f (--fields=LIST) Wählen Sie mithilfe eines bestimmten Felds, eines Feldsatzes oder eines Feldbereichs aus.
-b (--bytes=LIST) Wählen Sie anhand eines bestimmten Bytes, eines Bytesatzes oder eines Bytebereichs aus.
-c (--characters=LIST) Wählen Sie mithilfe eines bestimmten Zeichens, eines Zeichensatzes oder eines Zeichenbereichs aus.
-d (--delimiter) Wird verwendet, um ein Trennzeichen anzugeben, das anstelle des standardmäßigen TAB-Trennzeichens verwendet werden soll.
--complement Wenn angegeben, weist diese Option cut an um alle Bytes, Zeichen oder Felder mit Ausnahme der ausgewählten anzuzeigen.
-s (--only-delimited) Die Standardeinstellung ist, die Zeilen zu drucken, die keine Trennzeichen enthalten. Angabe des -s Die Option weist cut an, die Zeilen ohne Trennzeichen nicht zu drucken.
--output-delimiter Standardmäßig cut verwendet den Eingabebegrenzer als Ausgabebegrenzer. Angabe des --output-delimiter Mit der Option können Sie ein anderes Ausgabetrennzeichen angeben.

Das -f , b , und -c Optionen nehmen die LIST Argument, das eines der folgenden ist:

  • Eine Ganzzahl N repräsentiert ein Byte, Feld oder Zeichen, beginnend bei 1.
  • Mehrere Ganzzahlen, durch Komma getrennt.
  • Ein Bereich von ganzen Zahlen.
  • Mehrere Ganzzahlbereiche, durch Kommas getrennt.

Jeder Bereich kann einer der folgenden sein:

  • N- - Beginnt mit der Ganzzahl N (Feld, Byte oder Zeichen) bis zum Zeilenende.
  • N-M - Von der ganzen Zahl N bis Ganzzahl M , inklusive.
  • -M - Vom ersten Feld, Byte oder Zeichen bis zum angegebenen M Feld, Byte oder Zeichen.

Linux-Schnittbeispiele

Unten sind die häufigsten cut aufgeführt Anwendungsfälle für Befehle.

Wichtig: Achten Sie auf das Gebietsschema der Datei/Befehlsausgabe, die Sie verarbeiten. Das Ausschneiden von Zeichen oder Bytes in einer anderen Sprache als Englisch kann zu einer falschen Ausgabe führen, wenn das betreffende Zeichen länger als ein Byte ist.

Byteweise geschnitten

Das -b Mit der Option können Sie Daten mithilfe von Bytes extrahieren. Die Syntax lautet:

cut -b [LIST] [file]

Die [LIST] argument sind die Bytes, die aus jeder Zeile von [file] extrahiert werden sollen .

Je nachdem, was Sie extrahieren möchten, können Sie ein einzelnes Byte, mehrere Bytes oder einen Bytebereich ausschneiden. Um aus einer bestimmten Datei auszuschneiden, geben Sie den Dateinamen am Ende des Befehls an. Zum Beispiel verwenden wir employees.txt zum Testen:

Um das erste Byte aus jeder Eingabezeile zu extrahieren, führen Sie Folgendes aus:

cut -b 1 employees.txt

Der Befehl gibt nur das erste Byte jeder Dateieingabezeile aus.

Das folgende Beispiel zeigt, wie man den who-Befehl leitet und die ersten 5 Bytes aus der Ausgabe extrahiert:

who | cut -b -5

Schnitt nach Zeichen

Um nach Zeichen zu schneiden, geben Sie -c an Möglichkeit. Das Schneiden nach Zeichen ähnelt dem Schneiden nach Bytes, außer dass Sie die Zeichenposition und nicht die Byte-Position angeben müssen. Die Syntax lautet:

cut -c [LIST] [file]

Die [LIST] Das Argument gibt die Zeichen an, die aus jeder Zeile von [file] extrahiert werden sollen .

Zum Beispiel:

cut -c 10- employees.txt

Der Befehl extrahiert alles von Zeichen 10 bis zum Ende der Zeile aus jeder Zeile von employees.txt . Die Ergebnisse werden in der Standardausgabe ausgegeben.

Das folgende Beispiel zeigt das Ergebnis, wenn eine Datei nicht angegeben und cut wird liest seine Eingabe von der Standardeingabe. Werfen Sie einen Blick auf who Befehlsausgabe:

Die Ausgabe zeigt an, dass derzeit ein Benutzer angemeldet ist. Verwenden Sie den cut Befehl, um den Benutzernamen des angemeldeten Benutzers aus who zu extrahieren Ausgabe des Befehls:

who | cut -c 1-8

Im obigen Beispiel weisen wir cut an um die Zeichen 1 bis 8 aus jeder Eingabezeile zu extrahieren. Sortieren Sie bei mehreren Ergebnissen die Ergebnisse, indem Sie den Befehl mit | sort .

Verwenden Sie außerdem cut um mehrere verschiedene Zeichen aus einer Zeile zu extrahieren. Zeigen Sie beispielsweise den Benutzernamen und die Anmeldezeit aller angemeldeten Benutzer an:

who | cut -c 1-8,18-

Schnitt basierend auf einem Trennzeichen

Wenn die Felder nicht durch das standardmäßige Tabulatorzeichen getrennt sind, verwenden Sie -d Option, ein anderes Trennzeichen anzugeben. Das bedeutet, dass das nach dem -d angegebene Zeichen Option wird als Trennzeichen in den Zeilen betrachtet. Die Syntax lautet:

cut -d[delimiter] [file]

Anstelle von [delimiter] -Argument geben Sie das gewünschte Trennzeichen an. Sie können ein beliebiges Zeichen als Trennzeichen verwenden. Mit dem cut Befehl zum Extrahieren von Feldern aus einer Datei ohne Angabe von -d Option bedeutet, dass das Standardtrennzeichen das Tabulatorzeichen ist .

Im folgenden Beispiel verwenden wir Leerzeichen als Trennzeichen und drucken das zweite Feld:

echo "phoenixNAP is a global IT services provider" | cut -d ' ' -f 2

Schnitt nach Feldern

Beim Weiterleiten an Befehle, deren Ausgabe kein festes Format hat (z. B. who Befehl), das -c Option ist nicht hilfreich. Mit -f Option zur Trennung nach Feldern ist in diesem Fall die bessere Wahl.

Zum Beispiel:

cut -f 2 employees.txt

Im obigen Beispiel haben wir den -f verwendet Option, um das zweite Feld aus der employees.txt zu extrahieren Datei.

Um bestimmte Felder aus einer Datei auszuschneiden, geben Sie ein anderes Trennzeichen an. Beispiel:/etc/passwd Die Dateiausgabe enthält alle Benutzer auf Ihrem System, ID-Nummern, Home-Verzeichnis usw.

Die Daten in /etc/passwd Datei ist nicht auf die gleiche Weise ausgerichtet wie die Daten in who Befehlsausgabe. Daher können Sie nicht alle Benutzer des Systems extrahieren, indem Sie sich auf die Zeichennummer verlassen.

Die Felder in /etc/passwd Datei werden durch einen Doppelpunkt getrennt. Zählen Sie daher die Anzahl der Doppelpunkte, um dieselben Felder zu extrahieren. Zum Beispiel:

cut -d: -f1,6 /etc/passwd

Die Ausgabe gibt jeden Benutzer im System und sein Home-Verzeichnis zurück, entsprechend den Feldern 1 und 6.

Ergänze eine Auswahl

Das --complement Option druckt alles außer dem Zeichen/Byte/Feld an der angegebenen Position. Beispielsweise druckt der folgende Befehl alle Felder außer dem ersten und dritten:

cut employees.txt -f 1 --complement

Geben Sie ein Ausgabetrennzeichen an

Bei der Angabe mehrerer Zeichen/Bytes/Felder wird der cut Der Befehl verkettet die Ausgabe ohne Trennzeichen. Geben Sie mit --output-delimiter ein Trennzeichen in der Ausgabe an Möglichkeit.

Zum Beispiel, um das Ausgabetrennzeichen auf _ zu setzen (Unterstrich), verwenden Sie:

cut employees.txt -f 1,3 --output-delimiter='_'

Linux
  1. Befehl zum Herunterfahren von Linux mit Beispielen erklärt

  2. nslookup Linux-Befehl mit Beispielen erklärt

  3. Linux Traceroute-Befehl, erklärt mit Beispielen

  4. JQ-Befehl in Linux mit Beispielen

  5. cut-Befehlsbeispiele in Linux

Wait-Befehl in Linux anhand von Beispielen erklärt

Tr-Befehl in Linux mit Beispielen erklärt

w Befehl mit Beispielen in Linux erklärt

Linux Cat-Befehl mit Beispielen erklärt

Linux tee-Befehl erklärt (mit Beispielen)

Linux csplit Befehl erklärt (mit Beispielen)