Der Befehl „cut“ unter Linux ist ein Befehl zum Ausschneiden der Abschnitte aus jeder Dateizeile und zum Schreiben des Ergebnisses in die Standardausgabe. Es kann verwendet werden, um Teile einer Zeile nach Byteposition, Zeichen und Feld auszuschneiden. Der Befehl „Ausschneiden“ schneidet eine Zeile in Scheiben und extrahiert den Text. Es ist notwendig, eine Option mit einem Befehl anzugeben, andernfalls wird ein Fehler ausgegeben. Wenn mehr als ein Dateiname angegeben wird, wird den Daten jeder Datei nicht der Dateiname vorangestellt.
Inhaltsverzeichnis
- Syntax des Schnittbefehls
- Verfügbare Optionen im Schnittbefehl
- Praktische Beispiele für den Schnittbefehl
- Extrahieren Sie bestimmte Bytes (-b) mit dem Befehl „cut“.
- Nach Zeichen ausschneiden (-c) Mit dem Befehl „cut“.
- Nach Feld ausschneiden (-f) Mit dem Befehl „cut“.
- Komplementausgabe (–complement) mit dem Befehl „cut“.
- Ausgabetrennzeichen (–output-delimiter) Mit dem Befehl „cut“.
- Anzeigeversion (–version) Mit dem Befehl „cut“.
- So verwenden Sie tail mit Pipes(|) im Schnittbefehl
- Häufig gestellte Fragen zum Befehl „cut“ unter Linux – FAQs
Syntax des Schnittbefehls
Die grundlegende Syntax dercut>
Befehl ist:
cut OPTION... [FILE]...>
Wo
`OPTION`>
gibt das gewünschte Verhalten an
` FILE>
`>
stellt die Eingabedatei dar.
Notiz : WennFILE>
ist nicht angegeben, ` cut`>
liest von der Standardeingabe (stdin).
Verfügbare Optionen im Schnittbefehl
Hier ist eine Liste der am häufigsten verwendeten Optionen mit dem „ cut`>
Befehl:
Möglichkeit | Beschreibung |
---|---|
-b, –bytes=LISTE | Wählt nur die in angegebenen Bytes aus |
-c, –characters=LISTE | Wählt nur die in angegebenen Zeichen aus |
-d, –delimiter=DIVIDE | Verwendet |
-f, –fields=LIS | Wählt nur die in angegebenen Felder aus |
-N | Multibyte-Zeichen nicht aufteilen (keine Auswirkung, es sei denn |
-ergänzen | Kehrt die Auswahl der Felder/Zeichen um. Drucken Sie die nicht ausgewählten Felder/Zeichen. |
Praktische Beispiele für den Schnittbefehl
Betrachten wir zwei Dateien mit Namen state.txt Und Hauptstadt.txt enthält jeweils 5 Namen der indischen Bundesstaaten und Hauptstädte.
$ cat state.txt Andhra Pradesh Arunachal Pradesh Assam Bihar Chhattisgarh>
Ohne Angabe einer Option wird ein Fehler angezeigt.
$ cut state.txt cut: you must specify a list of bytes, characters, or fields Try 'cut --help' for more information.>
Bestimmte Bytes extrahieren (-b>
) Mit dem Befehl „cut“.
-b(Byte): Um die spezifischen Bytes zu extrahieren, müssen Sie der Option -b die durch Komma getrennte Liste der Bytenummern folgen. Der Bytebereich kann auch mit dem Bindestrich (-) angegeben werden. Es ist notwendig, eine Liste der Bytenummern anzugeben, andernfalls wird ein Fehler ausgegeben.
Tabulatoren und Rückschritte werden wie ein Zeichen von 1 Byte behandelt.
Liste ohne Bereiche :
cut -b 1,2,3 state.txt>

Liste ohne Bereich
Liste mit Bereichen:
cut -b 1-3,5-7 state.txt>

Liste mit Bereich
Es verwendet eine spezielle Form für die Auswahl der Bytes vom Anfang bis zum Ende der Zeile:
Sonderform: Auswahl der Bytes vom Zeilenanfang bis zum Zeilenende
Dabei bezeichnet 1- vom 1. Byte bis zum Endbyte einer Zeile
cut -b 1- state.txt>

Sonderform mit der Option -b
Dabei gibt -3 den Abstand vom 1. bis zum 3. Byte einer Zeile an
cut -b -3 state.txt>

Sonderform -b-Option
Nach Zeichen schneiden (-c>
) Mit dem Befehl „cut“.
-c (Spalte): Um nach Zeichen zu schneiden, verwenden Sie die Option -c. Dadurch werden die für die Option -c angegebenen Zeichen ausgewählt. Dies kann eine durch Kommas getrennte Liste von Zahlen oder ein durch Bindestrich (-) getrennter Zahlenbereich sein.
Tabulatoren und Rückschritte werden als Charakter behandelt. Es ist notwendig, eine Liste mit Zeichennummern anzugeben, andernfalls wird bei dieser Option ein Fehler ausgegeben.
Syntax:
cut -c [(k)-(n)/(k),(n)/(n)] filename>
Hier, k bezeichnet die Startposition des Zeichens und N bezeichnet die Endposition des Zeichens in jeder Zeile, wenn k Und N werden durch getrennt, andernfalls handelt es sich nur um die Position des Zeichens in jeder Zeile aus der Datei, die als Eingabe verwendet wird.
Bestimmte Zeichen extrahieren:
cut -c 2,5,7 state.txt>

Extrahieren Sie bestimmte Zeichen
Der obige Ausschneidebefehl gibt das zweite, fünfte und siebte Zeichen aus jeder Zeile der Datei aus.
Extrahieren Sie die ersten sieben Zeichen:
cut -c 1-7 state.txt>

Extrahieren Sie die ersten sieben Zeichen
Der obige Ausschneidebefehl gibt die ersten sieben Zeichen jeder Zeile aus der Datei aus. Cut verwendet eine spezielle Form zum Auswählen von Zeichen vom Anfang bis zum Ende der Zeile:
Sonderform: Auswahl von Zeichen vom Anfang bis zum Ende der Zeile
cut -c 1- state.txt>

Auswahl der Zeichen vom Anfang bis zum Ende der Zeile mit der Option -c
Der obige Befehl druckt vom ersten Zeichen bis zum Ende. Hier wird im Befehl nur die Startposition angegeben und die Endposition wird weggelassen.
cut -c -5 state.txt>

Auswahl der Zeichen vom Anfang bis zum Ende der Zeile mit der Option -c
Der obige Befehl gibt die Startposition bis zum fünften Zeichen aus. Hier wird die Startposition weggelassen und die Endposition angegeben.
Nach Feld schneiden (-f>
) Mit dem Befehl „cut“.
-f (Feld): -c Die Option ist für Leitungen mit fester Länge nützlich. Die meisten Unix-Dateien haben keine Zeilen mit fester Länge. Um die nützlichen Informationen zu extrahieren, müssen Sie nach Feldern und nicht nach Spalten schneiden. Die angegebene Feldnummer muss durch Komma getrennt werden. Bereiche werden nicht mit der Option -f beschrieben . schneiden Verwendet Tab als Standard-Feldtrennzeichen, kann aber auch mit anderen Trennzeichen verwendet werden -D Möglichkeit.
Notiz: Leerzeichen gelten unter UNIX nicht als Trennzeichen.
Syntax:
cut -d 'delimiter' -f (field number) file.txt>
Erstes Feld extrahieren:
Wie in der Datei state.txt Felder werden durch Leerzeichen getrennt. Wenn die Option -d nicht verwendet wird, wird eine ganze Zeile gedruckt:
cut -f 1 state.txt>

Extrahieren Sie das erste Feld mit der Option -f
Wenn ` -d` Wenn die Option verwendet wird, wird Leerzeichen als Feldtrennzeichen oder -begrenzer betrachtet:
cut -d ' ' -f 1 state.txt>

Leerzeichen als Feldtrennzeichen oder -begrenzer
Extrahieren Sie die Felder 1 bis 4:
Der Befehl druckt das Feld von der ersten bis zur vierten Zeile jeder Zeile aus der Datei.
cut -d ' ' -f 1-4 state.txt>
Der Befehl druckt das Feld vom ersten bis zum vierten
Komplementausgabe (--complement>
) Mit dem Befehl „cut“.
-ergänzen: Wie der Name schon sagt, ergänzt es die Ausgabe. Diese Option kann in Kombination mit anderen Optionen entweder mit verwendet werden -F oder mit -C .
cut --complement -d ' ' -f 1 state.txt>

-ergänzen
cut --complement -c 5 state.txt>
-ergänzen
Ausgabetrennzeichen (--output-delimiter>
) Mit dem Befehl „cut“.
–Ausgabetrennzeichen: Standardmäßig ist das Ausgabetrennzeichen dasselbe wie das Eingabetrennzeichen, das wir im Schnitt angeben -D Möglichkeit. Um das Ausgabetrennzeichen zu ändern, verwenden Sie die Option –output-delimiter=Trennzeichen .
cut -d ' ' -f 1,2 state.txt --output-delimiter='%'>
Hier ändert der Befehl „cut“ das Trennzeichen (%) in der Standardausgabe zwischen den Feldern, das mit der Option -f angegeben wird.
Anzeigeversion (--version>
) Mit dem Befehl „cut“.
-Ausführung: Diese Option wird verwendet, um die Version von Cut anzuzeigen, die derzeit auf Ihrem System ausgeführt wird.
cut --version>
Zeigt die Version des Schnittbefehls an
So verwenden Sie tail mit Pipes(|) im Schnittbefehl
Der Schnittbefehl kann mit vielen anderen Befehlen des Unix gepipet werden. In der folgenden Beispielausgabe des Katze Der Befehl wird als Eingabe für die gegeben schneiden Befehl mit -F Option zum Sortieren der aus der Datei state.txt stammenden Statusnamen in umgekehrter Reihenfolge.
cat state.txt | cut -d ' ' -f 1 | sort -r>

Verwenden von tail mit Pipe (|) im Schnittbefehl
Es kann auch mit einem oder mehreren Filtern zur weiteren Verarbeitung verbunden werden. Wie im folgenden Beispiel verwenden wir die Befehle cat, head und cut, deren Ausgabe mithilfe der Direktive(>) in der Datei list.txt gespeichert wird.
cat state.txt | head -n 3 | cut -d ' ' -f 1>list.txt>
cat list.txt>
Klasse vs. Objekt Java
Umleitung der Ausgabe in eine andere Datei
Häufig gestellte Fragen zum Befehl „cut“ unter Linux – FAQs
Wie verwende ich die cut>
Befehl zum Extrahieren bestimmter Spalten aus einer Datei?
Beispiel: Extrahieren der ersten und dritten Spalte aus einer CSV-Datei mit dem Namen „ data.csv`>
.
cut -d',' -f1,3 data.csv>
Kann ich benutzen cut>
eine Reihe von Zeichen aus jeder Zeile extrahieren?
Ja, du kannst. Um die Zeichen 5 bis 10 aus jeder Zeile einer benannten Datei zu extrahierentext.txt>
.
cut -c5-10 text.txt>
Wie kann ich das von der Datei verwendete Trennzeichen ändern? cut>
Befehl?
Verwenden Sie das ` -d`>
Option gefolgt vom Trennzeichen. Um beispielsweise einen Doppelpunkt (:>
) als Trennzeichen.
cut -d':' -f1,3 data.txt>
Ist die Nutzung möglich? cut>
Felder basierend auf der Zeichenposition extrahieren?
Ja, Sie können Zeichenpositionen mit dem „`“ angeben -c`>
Möglichkeit. Beispielsweise, um die Zeichen 1 bis 5 und 10 bis 15 aus jeder Zeile zu extrahieren.
cut -c1-5,10-15 data.txt>
Wie verwende ich cut>
Felder basierend auf einem bestimmten Trennzeichen extrahieren und in einer neuen Datei speichern?
Um durch Kommas getrennte Felder zu extrahieren und sie in einer neuen Datei mit dem Namen ` zu speichern output.tx>
t`>
cut -d',' -f1,3 data.csv>Ausgabe.txt>
Abschluss
In diesem Artikel haben wir das besprochen ` cut`>
Befehl unter Linux, ein vielseitiges Tool zum Extrahieren bestimmter Abschnitte aus Dateien basierend auf Byteposition, Zeichen oder Feld. Es schneidet Textzeilen in Scheiben und gibt die extrahierten Daten aus. Fehler beim Angeben einer Option mit demcut>
Der Befehl führt zu einem Fehler. Es können mehrere Dateien verarbeitet werden, die Ausgabe enthält jedoch nicht die Dateinamen. Optionen wie „ -b`>
, ` -c`>
, und ` -f`>
ermöglichen die Extraktion nach Byte, Zeichen bzw. Feld. Der--complement>
Die Option kehrt die Auswahl um und druckt, was nicht ausgewählt ist--output-delimiter>
Ändert das Ausgabetrennzeichen. Der Befehl enthält auch Optionen für die Versionsanzeige und kann in Kombination mit anderen Befehlen über Pipes zur weiteren Verarbeitung verwendet werden.
?list=PLqM7alHXFySFc4KtwEZTANgmyJm3NqS_L