Linux-basierte Betriebssysteme bieten viele Befehlszeilen-Dienstprogramme zur Textverarbeitung, die Sie in Ihrer täglichen Routine verwenden können. Der Cut-Befehl ist ein solches Dienstprogramm zur Textbearbeitung, das Trennzeichen, Bytes, Felder und Spalten verwendet, um eine erforderliche Zeichenfolge aus einer Flatfile-Datenbank oder einer Zeile abzurufen.

Da eine Flat-File-Datenbank keinen strukturellen Zusammenhang hat und die Datensätze mit Hilfe von Trennzeichen getrennt sind, ist Cut ein ideales Werkzeug, um Zeichen oder Bytes an Informationen zu extrahieren. Dieser Artikel behandelt den Ausschneidebefehl im Detail und zeigt einige praktische Beispiele mit verschiedenen Filteroptionen, um Ihnen den Einstieg in das Werkzeug zu erleichtern.

Überblick über den Schnittbefehl

cut verwendet die folgende grundlegende Syntax:

schneiden 

Sie können es auch wie folgt mit anderen Befehlen leiten:

echo „zeichenfolge_von_zeichen“ | schneiden 

Bitte beachten Sie, dass das Fehlen einer Option einen Fehler erzeugt. Hier sind einige Flags, die Sie mit cut verwenden können, um seine verschiedenen Funktionen aufzurufen:

instagram viewer

Möglichkeit Beschreibung
-B Schneidet nach Byte-Position
-C Schnitte nach Zeichenposition
-D Extrahiert eine Zeichenfolge unter Verwendung des mit der Feldoption (-f) angegebenen Trennzeichens
-F Extrahiert nach einem bestimmten Feld
-S Extrakte nur für Trennzeichen
--ergänzen Drucken Sie die Ausgabe mit Ausnahme des von Ihnen angegebenen Felds
--Ausgabetrennzeichen Ersetzen Sie das vorhandene Trennzeichen durch das von Ihnen angegebene

Hier sind einige Beispiele für den Schnittbefehl, die Ihnen helfen werden, das Werkzeug und seine Funktionen besser zu verstehen.

1. Extrahieren Sie bestimmte Zeichen aus einer Zeichenfolge

Verwenden Sie die -B Option zum Abrufen von Zeichenfolgen anhand ihrer Byteanzahl wie folgt:

echo "Hallo Welt" | Schnitt -b 1,2,3,5,8,9

Ausgabe:

Hallo

Sie können anstelle eines Strings auch einen Dateipfad angeben:

cut -b 1,2,3,4,5 Dateiname.txt

Oder Sie können Zeichen entsprechend ihrer Position im Text extrahieren. Verwenden Sie die -C Option gefolgt von der Reihenfolge/Reihenfolge der Zeichen, die Sie abrufen müssen, wie folgt:

echo "Hallo Welt" | schneide -c 1,2,3,5,6,8,10,11

Ausgabe:

Hallo alt

Um Felder oder Spalten aus einer Flatfile-Datenbank abzurufen, verwenden Sie auf ähnliche Weise den Befehl cut mit dem -F Flaggenoption:

cut -f 3 database.txt

2. Bereich von Bytes oder Zeichen ausschneiden

Sie können auch die verwenden -B Flag mit dem Cut-Befehl, um mehrere Byte-Bereiche wie folgt zu extrahieren und zu drucken:

cut -b 1-7,16-23 database.txt

Sie können den Bereich zum Abrufen von Zeichen mit definieren -C Flagge wie folgt:

cut -c 1-7,16-23 database.txt

3. Extrahieren Sie Text von Start- oder Endpositionen

Verwenden Sie die -cn- Option zum Extrahieren von Text ab dem n-ten Zeichen bis zum Ende der Zeile, wo n ist der Index eines Zeichens in der Zeichenfolge.

Um beispielsweise die Zeichenfolge ab dem sechsten Zeichen bis zum Ende der Zeile zu extrahieren:

cut -c6- database.txt

Oder verwenden Sie den folgenden Befehl, um vom Anfang bis zum letzten zu holen m Zeichen aus der Datei:

cut -c-8 database.txt

4. Mehrere Felder aus einer Datei ausschneiden

Sie können auch mehrere Felder aus einer Datei drucken, indem Sie die verwenden -F Flagge.

cut -f 1,2 Datenbank.txt

Ausgabe:

NAME ALTER 
Jon 20
Lisa 24
Jack 18
Bruce 23
Nancy 19

5. Text mit Trennzeichen extrahieren

Du kannst den... benutzen -D Flag, um das Trennzeichen mit dem anzugeben -F Möglichkeit. Das Trennzeichen gibt das Zeichen an, das zum Trennen von Feldern in einer Textdatei verwendet wird.

Zum Beispiel, um die erste Spalte des zu extrahieren /etc/passwd Datei, verwenden Sie einen Doppelpunkt (:) als Trennzeichen:

cut -d ‘:’ -f 1 /etc/passwd

In ähnlicher Weise ist der Trennzeichenwert im angegebenen Textstrom ein einzelnes Leerzeichen:

echo "Die 1% der 1%" | Schnitt -d ' ' -f 2,3

Ausgabe:

1% von

6. Ausgabebegrenzer für Anzeige ändern

Der --Ausgabetrennzeichen flag fügt der Ausgabe des Schnittbefehls Flexibilität hinzu. Beispielsweise können Sie das Flag verwenden, um die Ausgabe in einer separaten Zeile mit dem anzuzeigen $’\n’ (newline) Wert, wie folgt:

grep alice /etc/passwd | cut -d ':' -f 1,5,7 --output-delimiter=$'\⁠n'

Ausgabe:

alice
Alice
/bin/sh

Darüber hinaus können Sie auch ein Trennzeichen einer Eingabedatei durch das Trennzeichen Ihrer Wahl in der Ausgabe ersetzen, indem Sie die verwenden --Ausgabetrennzeichen Flagge:

grep root /etc/passwd | cut -d ':' -f 1,6,7 --output-delimiter=@

Ausgabe:

root@/root@/bin/bash
nm-openvpn@/var/lib/openvpn/chroot@/usr/sbin/nologin

7. Felder nur ausschneiden, wenn eine Zeile das Trennzeichen enthält

Verwenden Sie die -S Flag, um Felder nur dann zu extrahieren, wenn die Zeilen ein Trennzeichen enthalten. Der folgende Befehl ruft beispielsweise das Feld nicht ab -f 1 es sei denn, es hat ein Leerzeichen:

echo "HalloWelt" | Schnitt -d " " -f 1 -s

Im Gegensatz dazu erzeugt der unten erwähnte Befehl eine Ausgabe, da die Zeichenfolge das angegebene Trennzeichen enthält:

echo "Hallo Welt" | Schnitt -d " " -f 1 -s

Ausgabe:

Hallo

Ebenso können Sie auch jedes andere Zeichen als Trennzeichen verwenden:

echo "Hallo: Welt" | Schnitt -d ":" -f 2 -s

Ausgabe:

Welt

8. Ergänzen Sie die Befehlsausgabe

Mit dem Dienstprogramm zum Ausschneiden können Sie auch alle Felder außer dem angegebenen Feld drucken. Verwenden Sie die --ergänzen Option wie folgt, um alle Details des Root-Benutzerkontos mit Ausnahme der fünften Spalte abzurufen:

grep "root" /etc/passwd | cut -d ':' --complement -s -f 5

Ausgabe:

root: x: 0:0:/root:/bin/bash

In ähnlicher Weise wird im folgenden Beispiel die -f 1 Parameter muss angezeigt werden Hallo Text jedoch aufgrund der --ergänzen Option, es druckt nur den Rest davon.

Echo "Hallo an die ganze Welt" | cut -d " " -f 1 --complement

Ausgabe:

zur ganzen Welt

Das Beste daran ist, dass Sie den cut-Befehl mit der Standardausgabe anderer Linux/Unix-Befehle kombinieren können.

sed ist ein solches Textbearbeitungstool, mit dem Sie Ihren Text löschen, einfügen und ersetzen können. Sie können seine Ausgabe einfach an den cut-Befehl weiterleiten.

Im folgenden Beispiel der grep-Befehl Die Ausgabe wird an das Dienstprogramm sed geleitet, das den Doppelpunkt (:) durch einen Bindestrich (-) ersetzt und dann cut die Felder 1, 6 und 7 wie folgt anzeigt:

grep alice /etc/passwd | sed 's/:/-/g' | Schnitt -d ' ' -f 1,5,7

Ausgabe:

alice-x-1005-1008-Alice-/home/new/alice-/bin/sh

Arbeiten mit Text unter Linux Mit cut

Der Befehl cut ist ein flexibles und effizientes Befehlszeilendienstprogramm, das Sie in verschiedenen Anwendungsfällen der Textbearbeitung verwenden können. Es verwendet Operationen, um Text aus Dateien oder Standardeingabedaten herauszufiltern. Das Dienstprogramm hat auch den Vorteil, dass Benutzer den Text, den sie anzeigen möchten, einschränken und Trennzeichen ihrer eigenen Wahl hinzufügen können.

Dieser Befehl hat jedoch auch einige Einschränkungen. Sie können keine regulären Ausdrücke verwenden, um Trennzeichen anzugeben, oder mehrere gleichzeitige Befehlsoptionen zum Ausschneiden verwenden. Dieser Artikel hat grundlegende bis fortgeschrittene praktische Beispiele dieses Dienstprogramms behandelt, um Anfängern ein klares Verständnis von Textbearbeitungsbefehlen unter Linux zu vermitteln.

Die 5 nützlichsten Linux-Textbearbeitungsbefehle

Möchten Sie Ihr Linux-Spiel verbessern und mehr über Textmanipulation erfahren? Hier sind die fünf besten Linux-Befehlszeilentools, mit denen Sie Ihre Reise beginnen können.

Lesen Sie weiter

TeilenTwitternEmail
Verwandte Themen
  • Linux
  • Linux-Befehle
  • Linux-Grundstufe
  • Linux-Bash-Shell
Über den Autor
Rumaisa Niazi (10 veröffentlichte Artikel)

Rumaisa ist freiberufliche Autorin bei MUO. Sie hat viele Rollen getragen, von einer Mathematikerin bis hin zu einer Enthusiastin für Informationssicherheit, und arbeitet jetzt als SOC-Analystin. Ihre Interessen umfassen das Lesen und Schreiben über neue Technologien, Linux-Distributionen und alles rund um Informationssicherheit.

Mehr von Rumaisa Niazi

Abonniere unseren Newsletter

Abonnieren Sie unseren Newsletter für technische Tipps, Rezensionen, kostenlose E-Books und exklusive Angebote!

Klicken Sie hier, um sich anzumelden