Umfassende Anleitung zur Verwendung des Linux-Befehls „Cut“

Umfassende Anleitung zur Verwendung des Linux-Befehls „Cut“

Der Cut-Befehl unter Linux ist ein wichtiges Dienstprogramm für die Textverarbeitung. Er extrahiert bestimmte Segmente aus jeder Zeile einer Datei oder aus einer Pipe-Eingabe. Der Befehl verändert die Originaldatei nicht, sondern liest die Daten und zeigt die gewünschten Abschnitte in der Standardausgabe an. In dieser Anleitung erläutern wir die Funktionsweise des Cut-Befehls unter Linux und demonstrieren seine Anwendung anhand praktischer Beispiele.

Erkunden des Cut-Befehls

Der cutBefehl ist für alle, die mit strukturiertem Text arbeiten, unverzichtbar und ermöglicht die effektive Datenmanipulation und -extraktion in Unix-ähnlichen Umgebungen. Durch das Extrahieren von Zeilenabschnitten anhand von Byte- und Zeichenpositionen, Trennzeichen oder Feldern erweist sich cut als unverzichtbar für das Filtern und Organisieren von Daten in Shell-Skripten und Kommandozeilenoperationen. Seine Anwendungen reichen vom Abrufen bestimmter Spalten aus CSV-Dateien über das Entfernen unnötiger Zeichen bis hin zur Protokollanalyse. Obwohl cut oft direkt mit Dateien verwendet wird, interagiert es in einer Pipeline auch nahtlos mit der Ausgabe anderer Befehle.

Grundlegende Syntax des Cut-Befehls

Der Befehl „cut“ ist unkompliziert und verwendet Optionen gefolgt von einem Dateinamen. Die Syntax lautet wie folgt:

cut [OPTIONS] [FILE]

In dieser Struktur bestimmen OPTIONEN die Funktionsweise des Cut-Befehls. Sie können unter anderem ein Feldtrennzeichen (z. B.ein Komma) auswählen, bestimmte Felder auswählen, Bereiche festlegen und Zeilen ohne Trennzeichen ausschließen. Wenn keine Datei angegeben ist, liest Cut die Daten von der Standardeingabe. Sie können auch mehrere Dateien angeben, die dann als kombinierte Einheit verarbeitet werden.

Häufig verwendete Optionen

Der Befehl „Ausschneiden“ bietet verschiedene Optionen, um exakte Textsegmente zu extrahieren. Hier sind einige der am häufigsten verwendeten:

  • -f oder –fields=LIST : Ermöglicht die Auswahl bestimmter Felder basierend auf einem festgelegten Trennzeichen.
  • -b oder –bytes=LIST : Extrahiert angegebene Bytes aus jeder Zeile.
  • -c oder –characters=LIST : Ruft bestimmte Zeichen aus jeder Zeile ab.
  • -d oder –delimiter : Legt anstelle des Standard-Tabulators ein benutzerdefiniertes Trennzeichen fest.
  • –complement : Gibt alles außer den angegebenen Feldern, Bytes oder Zeichen aus.
  • -s oder –only-delimited : Überspringt Zeilen ohne Trennzeichen; solche Zeilen werden standardmäßig eingeschlossen.
  • –output-delimiter : Ermöglicht die Auswahl eines anderen Trennzeichens für die Ausgabe im Gegensatz zum Eingabetrennzeichen.

Die Optionen -f, -b, und -cverwenden eine LISTE, um zu definieren, was extrahiert werden soll. Sie können Folgendes angeben:

  • Eine einzelne Zahl wie 2.
  • Mehrere durch Kommas getrennte Zahlen, z. B.1, 3, 5.
  • Ein Bereich wie 2–4 (um Werte von 2 bis 4 zu extrahieren).
  • N-um die Extraktion von Position N bis zum Ende anzuzeigen.
  • -Mum die Extraktion vom Start bis zur Position M anzuzeigen.

Verwenden des Cut-Befehls unter Linux

Um die Funktionsweise des Cut-Befehls zu veranschaulichen, führen wir einige praktische Beispiele aus. Erstellen wir zunächst mit dem Echo-Befehl eine Beispieldatei namens „mte.csv“:

echo -e "empID, empName, empDesig\n101, Anees, Author\n102, Asghar, Manager\n103, Damian, CEO" > mte.csv

Echo-Befehl

Als Nächstes können wir den Inhalt der Datei mit dem Befehl „cat“ überprüfen:

cat mte.csv

Dateidaten anzeigen

Es ist wichtig zu erwähnen, dass der Cut-Befehl lediglich die angegebene Ausgabe präsentiert, ohne die Datei selbst zu ändern.

Extrahieren von Daten nach Zeichen

Um Zeichen nach Position zu extrahieren, verwenden Sie die -cOption mit dem Befehl „Ausschneiden“:

cut -c 1, 8 mte.csv

Dieser Befehl extrahiert das erste und das achte Zeichen aus jeder Zeile:

Schnitt nach Zeichen

Um Zeichen innerhalb eines angegebenen Bereichs zu extrahieren, wenden Sie den folgenden Befehl an:

cut -c 1-8 mte.csv

Dadurch werden Zeichen aus den Positionen 1 bis 8 in jeder Zeile extrahiert:

Schnitt nach Bereich

Extrahieren nach Byte

Um bestimmte Bytes zu extrahieren, verwenden Sie die -bOption mit dem Cut-Befehl:

cut -b 1-3 mte.csv

Dieser Befehl extrahiert die ersten drei Bytes aus jeder Zeile in der Datei mte.csv:

Byteweise schneiden

Extrahieren nach Feld (Spalte)

Um ein ganzes Feld aus einer Datei zu extrahieren, verwenden Sie den Befehl „Ausschneiden“ mit den Optionen -fund :-d

cut -d', ' -f2 mte.csv

In diesem Befehl -d', 'wird ein Komma als Trennzeichen verwendet, während -f2das Zeichen „cut“ angibt, dass das zweite Feld aus jeder Zeile extrahiert werden soll:

Schnitt nach Feld

Implementieren benutzerdefinierter Trennzeichen in cut

Obwohl cut standardmäßig einen Tabulator als Trennzeichen verwendet, geben Sie -dmit das richtige Zeichen an, wenn Felder durch ein anderes Zeichen getrennt sind. Um beispielsweise das fünfte Wort aus einem durch Leerzeichen getrennten Satz zu extrahieren, können Sie Folgendes verwenden:

echo "Hey! Geeks Welcome to Maketecheasier.com" | cut -d ' ' -f 5

Mit benutzerdefiniertem Trennzeichen ausschneiden

Ausschließen bestimmter Felder während der Extraktion

Sie können beim Extrahieren von Text aus einer Datei bestimmte Felder auslassen, indem Sie die --complementOption mit dem Befehl cut verwenden. Diese Option gibt an, dass cut alle Felder außer den angegebenen ausgibt:

cut -d', ' -f1 mte.csv --complement

Dieser Befehl überspringt die erste Spalte und gibt den Rest des Inhalts zurück:

Mit Ergänzung schneiden

Ändern des Standard-Ausgabetrennzeichens

Beim Extrahieren von Feldern behält der Befehl „cut“ standardmäßig das Eingabetrennzeichen in der Ausgabe bei. Sie können das Ausgabetrennzeichen jedoch mit der folgenden --output-delimiterOption ändern:

cut -d', ' -f1-3 --output-delimiter='-' mte.csv

Dieser Befehl verwendet einen Bindestrich als Trennzeichen in der Ausgabe:

Benutzerdefiniertes Ausgabetrennzeichen

Kombinieren von „cut“ mit anderen Linux-Befehlen

Der Cut-Befehl kann auch in Verbindung mit anderen Linux-Befehlen mit dem Pipeline-Symbol | verwendet werden. Beispielsweise extrahiert der folgende Befehl die ersten fünf Zeichen aus jeder Ausgabezeile des whoBefehls:

who | cut -c 1-5

Mit wem schneiden

In einem anderen Beispiel können Sie den Befehl „cut“ zusammen mit „head“ verwenden, um die ersten beiden Zeilen von „mte.csv“ anzuzeigen und dabei nur die Felder „empName“ und „empDesig“ zu extrahieren:

head -n 2 mte.csv | cut -d ', ' -f2, 3

Mit Kopf schneiden

Navigieren in unregelmäßigen Datenformaten mit dem Linux-Befehl „cut“

Der Befehl „cut“ eignet sich hervorragend für die Verarbeitung gut formatierter Daten mit einheitlichen Trennzeichen (wie Kommas oder Tabulatoren).Bei Dateien mit inkonsistenten Abständen oder gemischten Trennzeichen kann die alleinige Anwendung von „cut“ jedoch zu unbefriedigenden Ergebnissen führen. Daher ist es oft sinnvoll, die Daten vorab mit Befehlen wie troder zu bereinigen sed, um sicherzustellen, dass „cut“ die richtigen Teile effektiv extrahiert.

Überschüssigen Speicherplatz verwalten

Stellen Sie sich eine Datei mit dem Namen „mteData.txt“ vor, in der die Felder durch unterschiedliche Leerzeichen getrennt sind:

cat mteData.txt

Beispieldaten anzeigen

Da „cut“ ein einzelnes Trennzeichen erwartet, verwenden Sie „use“, trum den Abstand vor der Anwendung von „cut“ zu normalisieren:

cat mteData.txt | tr -s ' ' | cut -d ' ' -f1-2

Dieser Befehl verarbeitet „mteData.txt“, ersetzt mehrere Leerzeichen durch ein einzelnes mithilfe von trund extrahiert dann die ersten beiden Felder:

Schnitt mit Tr

Verwalten gemischter Trennzeichen

Wenn eine Datei eine Kombination aus Leerzeichen und Kommas enthält, normalisieren Sie das Format mit sed. Beispielsweise enthält eine Datei mit dem Namen „mteData1.txt“:

cat mteData1.txt

Beispielinhalte anzeigen

Verwenden Sie es sedmit „cut“, um alle Leerzeichen in Kommas umzuwandeln und dann das erste und dritte Feld zu extrahieren:

sed 's/ /, /g' mteData1.txt | cut -d ', ' -f1, 3

Mit Sed schneiden

Abschluss

In diesem Artikel haben wir die Funktionen des Linux-Befehls „cut“ vorgestellt, einem wichtigen Tool zum Extrahieren von Daten aus Dateien oder Pipe-Eingaben. Dank seiner einfachen Syntax können Sie mühelos Zeichen, Bytes oder Felder basierend auf einem festgelegten Trennzeichen extrahieren. Darüber hinaus haben wir gezeigt, wie Sie den Befehl „cut“ mit anderen Dienstprogrammen wie tr, sed, und kombinieren können head, um unreine Daten zu verwalten und eine effizientere Ausgabe zu erzielen. Ob Sie CSV-Dateien verarbeiten, Protokolle analysieren oder Daten bereinigen – der Befehl „cut“ ist ein unverzichtbares Werkzeug für die Textverarbeitung in Unix-ähnlichen Umgebungen.

Häufig gestellte Fragen

1. Was ist der Hauptzweck des Cut-Befehls in Linux?

Der Cut-Befehl unter Linux dient hauptsächlich zum Extrahieren bestimmter Textabschnitte aus Dateien oder der Ausgabe anderer Befehle. Er ermöglicht Benutzern die effektive Bearbeitung und Formatierung von Daten anhand von Trennzeichen, Byte- und Zeichenpositionen.

2. Kann ich den Cut-Befehl mit anderen Linux-Befehlen kombinieren?

Ja! Der Cut-Befehl lässt sich mithilfe des Pipeline-Symbols (|) nahtlos in andere Linux-Befehle integrieren. Dies ermöglicht eine leistungsstarke Datenverarbeitung und ermöglicht das Filtern und Formatieren der Ausgaben verschiedener Befehle.

3. Wie kann ich bei Verwendung des Befehls „Ausschneiden“ ein benutzerdefiniertes Trennzeichen angeben?

Sie können ein benutzerdefiniertes Trennzeichen angeben, indem Sie die -dOption gefolgt vom gewünschten Trennzeichen verwenden. Um beispielsweise ein Komma als Trennzeichen zu verwenden, verwenden Sie -d', '.

Quelle & Bilder

Schreibe einen Kommentar

Deine E-Mail-Adresse wird nicht veröffentlicht. Erforderliche Felder sind mit * markiert