Linux Cut Command erklärt für Anfänger (mit Beispielen)

Wenn Sie unter Linux den Inhalt einer Datei auf stdout drucken möchten, fällt Ihnen als erstes der Befehl cat ein. Es kann jedoch vorkommen, dass es erforderlich ist, bestimmte Teile der Datei zu entfernen und nur den Rest des Inhalts zu drucken. Sie werden sich freuen zu erfahren, dass es ein Werkzeug gibt – cut – mit dem Sie dies tun können.

In diesem Artikel werden wir dieses Tool anhand einiger leicht verständlicher Beispiele diskutieren. Aber bevor wir das tun, ist es erwähnenswert, dass alle Beispiele in diesem Artikel auf einem Ubuntu 22.04 Rechner getestet wurden.

Linux Cut-Befehl

Mit dem Befehl cut unter Linux können Benutzer Abschnitte aus jeder Zeile von Dateien entfernen. Folgendes ist seine Syntax:

cut OPTION... [FILE]...

Hier ist, was die Manualseite über dieses Dienstprogramm sagt:

       Print selected parts of lines from each FILE to standard output.

With no FILE, or when FILE is -, read standard input.

Und im Folgenden finden Sie einige Beispiele im Q&A-Stil, die Ihnen eine gute Vorstellung davon vermitteln sollen, wie dieses Tool funktioniert.

Q1. Wie benutze ich den Befehl cut?

Der Befehl cut erwartet, dass der Benutzer eine Liste von Bytes, Zeichen oder Feldern bereitstellt. Sie können Bytes mit der Befehlszeilenoption -b bereitstellen.

Angenommen, es gibt eine Datei namens file1.txt, die die folgende Zeile enthält:

Dies ist ein Beispiel Text.

Und Sie wollen nur die ersten drei Bytes anzeigen. In diesem Fall können Sie dann die Option -b wie folgt verwenden:

cut file1.txt -b1,2,3

Die Ausgabe erfolgt:

Die

Sie können auch einen Bereich angeben:

cut file1.txt -b1-10

Nachfolgend ist die in diesem Fall produzierte Leistung aufgeführt:

Dies ist e

Sie können auch Bindestrich (-) mit einer Zahl verwenden, um dem Schnittbefehl mitzuteilen, dass entweder alle Bytes nach dem Byte bei dieser Zahl oder alle Bytes vor dem Byte bei dieser Zahl angezeigt werden sollen.

Der folgende Befehl stellt beispielsweise sicher, dass alle Bytes einschließlich und nach demjenigen bei Nummer 5 angezeigt werden.

cut file1.txt -b5-

Und der folgende Befehl zeigt die ersten 5 Bytes an:

cut file1.txt -b-5

Q2. Wie geht man mit Sonderzeichen um?

Manchmal enthält die Datei, die Sie an den Befehl cut übergeben, Zeichen, die mehr als ein Byte groß sind. In diesem Fall ist es ratsam, die Option -c zu verwenden, damit das Tool richtig versteht, welche Zeichen Sie anzeigen oder entfernen möchten.

Beispielsweise ist ? ein Sonderzeichen, das mehrere Bytes belegt. Wenn Sie also den Befehl cut auf einem Text-Stream verwenden möchten, der diese Art von Zeichen enthält, dann ist es besser, -c statt -b zu verwenden. In Bezug auf die Funktionalität funktionieren sowohl -c als auch -b auf ähnliche Weise.

Q3. Wie funktioniert der Schnitt mit Trennzeichen?

Sie können den Befehl cut auch mit Trennzeichen verwenden. Dazu können Sie die Kommandozeilenoption -d verwenden.

Angenommen, die Eingabedatei enthält beispielsweise kommagetrennte Felder:

eins, zwei, drei
vier, fünf, sechs

Und du willst nur erste und dritte Einträge, dann kann dies auf folgende Weise geschehen:

cut file1.txt -d, -f1,3

Ausschneiden von Text in CSV Dateien mittels cut Befehl

Beachten Sie, dass Sie mit der Option -f die Felder auswählen können, die Sie anzeigen möchten.

man kann auch Text mittels echo Befehl ausgeben und diesen dann an cut mittels Pipe weiter leiten. Beispiel:

echo "Hallo, dies ist ein Test" | cut -b-5

Sie sehen also, der Befehl cut hat das Potenzial, viel Zeit zu sparen, wenn es sich bei der Aufgabe um eine selektive Ausgabe des Inhalts einer Datei handelt. Um Inhalte in dateien zu finden, bietet sich der befehl grep an. Hier, in diesem Tutorial, haben wir einige grundlegende Befehlszeilenoptionen besprochen, die dieses Tool bietet. Um mehr zu erfahren, gehen Sie bitte auf die Man Page des Tools.

Das könnte dich auch interessieren …