8 Befehlsbeispiele ausschneiden [Schnittabschnitte in der Datei]

Als Linux -Benutzer interagieren wir regelmäßig mit den Textdateien. Eines der gängigen Operationen, die wir in diesen Dateien ausführen, ist. Linux liefertFür Textfilterung, wie z.AnwesendAnwesendAnwesendund die Liste geht weiter.

In diesem Leitfaden werden wir jedoch ein weiteres Textfilter-Dienstprogramm namens diskutierenschneiden, mit der verwendet wird, um einen bestimmten Abschnitt aus der Eingangslinie zu entfernen. Der Cut -Befehl führt die Filterung basierend auf der Byte -Position, dem Zeichen, dem Feld und dem Grenzwert durch.

In diesem Anfänger werden wir über die erfahrenBefehl schneidenmit Beispielen in der Befehlszeile der Linux. Nach dieser Anleitung können Benutzer die Befehlszeile der Linux in der Lage sein, den Cut-Befehl effizient in ihrem täglichen Leben zu verwenden.

Befehlssyntax ausschneiden

Die Syntax derBefehl schneidenist genau wie jeder andere:

$ cut <OPTIONS>... [FILE-1] [FILE-2] ...

In der obigen Syntax die Winkelhalterung(<>)repräsentiert die obligatorischen Argumente, während die quadratische Klammer([])repräsentiert die optionalen Parameter.

Jetzt, da wir mit der Syntax der vertraut sindBefehl schneiden. Lassen Sie uns als Beispiel eine Beispieldatei als Beispiel erstellen:

$ cat file.txt
Linux -Beispieltextdatei

1. Drucken Sie das erste Byte der Datei

DerschneidenDer Befehl ermöglicht es uns, den Text basierend auf der Byte -Position mit dem zu extrahieren-bOption.

Verwenden wir den folgenden Befehl, um das erste Byte aus jeder Zeile der Datei zu extrahieren:

$ cut -b 1 file.txt
Erstes Byte aus der Datei drucken

In diesem Beispiel können wir sehen, dass dieschneidenDer Befehl zeigt nur den ersten Charakter, da alle Zeichen ein Byte lang sind.

2. Drucken Sie mehrere Dateien Bytes

Im vorherigen Beispiel haben wir gesehen, wie ein einzelnes Byte aus der Datei ausgewählt werden kann. Mit dem Befehl Cut können wir jedoch auch mehrere Bytes über das Komma auswählen.

Verwenden wir den folgenden Befehl, um die ersten vier Bytes aus der Datei auszuwählen:

$ cut -b 1,2,3,4 file.txt
Drucken Sie mehrere Bytes aus der Datei

In diesem Beispiel haben wir die aufeinanderfolgenden Bytes ausgewählt, das ist jedoch nicht obligatorisch. Wir können eine beliebige gültige Byteposition mit der verwendenschneidenBefehl.

3. Drucken Sie eine Reihe von Dateien Bytes

Im vorherigen Beispiel haben wir Kommas verwendet, um aufeinanderfolgende Bytes auszuwählen. Dieser Ansatz ist jedoch nicht geeignet, wenn wir eine große Anzahl von Bytes nacheinander auswählen möchten. In solchen Fällen können wir den Bindestrich verwenden(-)Um den Bytebereich anzugeben.

Um dies zu verstehen, verwenden wir die1-12Als Byte -Bereich, um die ersten zwölf Bytes aus jeder Zeile auszuwählen:

$ cut -b 1-12 file.txt

In ähnlicher Weise können wir auch einen Byte -Bereich aus der Mitte auswählen. Der folgende Befehl wählt beispielsweise Bytes aus Spaltennummern 17 bis 30 aus:

$ cut -b 17-30 file.txt
Druckreihe von Bytes aus der Datei

4. DRUCKFORMIFIEREN SIE START BYTE -POSITION DER DATEI

Manchmal wollen wir den gesamten Text aus einer bestimmten Byteposition extrahieren. In solchen Fällen können wir die End -Byte -Position weglassen.

Zum Beispiel können wir den folgenden Befehl verwenden, um alle Bytes ab Position 17 auszudrucken:

$ cut -b 17- file.txt 
Text aus einer bestimmten Byteposition ausdrucken

Im obigen Befehl repräsentiert 17 die Start -Byte -Position, während der Bindestrich(-)repräsentiert das Ende der Linie.

5. DRUCKENDE ENGEGEBENSPOBLEINE DER SCHLAFT

In ähnlicher Weise können wir auch nur die End -Byte -Position angeben. Zum Beispiel druckt der folgende Befehl alle Bytes vom Beginn der Zeile bis zur 12. Spalte:

$ cut -b -12 file.txt
Drucken Angeben Sie die End -Byte -Position der Datei an

Im obigen Befehl der Bindestrich(-)repräsentiert den Beginn der Linie, während 12 die End -Byte -Position darstellt.

6. Erstes Byte durch Charakterposition schneiden

In den letzten Abschnitten haben wir gesehen, wie man eine Textentnahme basierend auf der Byte -Position ausführt. Lassen Sie uns nun sehen, wie die Textextraktion nach Charakterposition durchführt.

Um dies zu erreichen, können wir die verwenden-cOption, das erste Byte aus der folgenden Multi-Byte-Zeichenfolge zu schneiden:

$ echo école | cut -b 1


In der obigen Ausgabe können wir sehen, dass der Cut -Befehl ein Fragezeichen anstelle des Zeichens zeigté. Dies geschieht, weil wir versuchen, das erste Byte aus dem Multi-Byte-Charakter zu drucken.

Lassen Sie uns nun das verwenden-cOption, denselben Multi-Byte-Charakter zu schneiden und das Ergebnis zu beobachten:

$ echo école | cut -c 1

é

In der obigen Ausgabe können wir sehen, dass der Cut -Befehl nun die erwartete Ausgabe anzeigt.

Es ist wichtig zu beachten, dass nicht alle Versionen der Cut-Befehle die Multi-Byte-Zeichen unterstützen. Zum Beispiel,Unterstützen Sie keine Multi-Byte-Charaktere.

Um dies zu verstehen, führen wir den gleichen Befehl auf dem ausLinux Mintdas abgeleitet ist vonUbuntu:

Byte durch Charakterposition schneiden

Hier können wir das sehen, dieschneidenDer Befehl behandelt sowohl Multi-Byte-Zeichen als auch Single-Byte-Zeichen gleich. Daher erzeugt es nicht die erwartete Ausgabe.

7. Schneiden Sie eine Zeichenfolge durch den Trennzeichen unter Linux

Standardmäßig ist dieschneidenBefehl verwendet aTABCharakter als Trennzeichen. Wir können dieses Standardverhalten jedoch mit dem überschreiben-dOption.

Oftmals die-dOption wird in Kombination mit dem verwendet-fOption, mit der ein bestimmtes Feld ausgewählt wird.

Um dies zu verstehen, verwenden wir den Space -Charakter als Trennzeichen und drucken Sie die ersten beiden Felder mit der-fOption:

$ cut -d " " -f 1,2 file.txt
Schneiden Sie die Zeichenfolge nach Trennzeichen in der Datei

Im obigen Beispiel haben wir das Komma mit dem verwendet-fOption zur Auswahl mehrerer Felder.

8. Drucken Sie alle Bytes oder Zeichen außer ausgewählten

Manchmal möchten wir alle Charaktere mit Ausnahme einigeriger drucken. In solchen Fällen können wir die verwenden--complementOption. Wie der Name schon sagt, druckt diese Option alle Spalten mit Ausnahme der angegebenen.

$ cut -c 1 --complement file.txt
Drucken Sie keine ausgewählten Felder in der Datei aus

In der obigen Ausgabe können wir sehen, dass die--complementDie Option druckt alle Zeichen außer dem ersten Zeichen.

Es ist wichtig zu beachten, dass wir in diesem Beispiel Kommas verwendet haben, um mehrere Felder auszuwählen. Wir können jedoch auch die anderen unterstützten Bereiche verwenden. Wir können uns auf die ersten Beispiele dieses Tutorials beziehen, um mehr über die Bereiche zu erfahren.

Abschluss

In diesem Anfängerleitfaden haben wir die praktischen Beispiele dessen erörtertschneidenBefehl mit Textfilterung basierend auf der Byteposition, der Zeichenposition und dem Trennzeichen.

Kennen Sie ein anderes bestes Beispiel für den Cut -Befehl in Linux? Lassen Sie uns Ihre Ansichten in den Kommentaren unten wissen.