Vollständiger Leitfaden zum Linux-Befehl cut – Gewünschte Spalten aus Log- und CSV-Textdaten präzise extrahieren!

Übersicht

In einer Linux-Umgebung ist der cut-Befehl das leichteste und leistungsfähigste Werkzeug, wenn Sie schnell nur die benötigten Spalten aus großen Protokolldateien oder CSV-Daten extrahieren müssen. Von der trennzeichenbasierten Feldtrennung bis hin zum Slicing mit fester Byte-Breite lernen Sie die wichtigsten Techniken kennen, die sich sofort in der Praxis anwenden lassen.

Extrahieren von CSV- und Systemkontodaten mit Trennzeichen (-d) und Feldern (-f)

Um ein eigenes Verzeichnis für die Praxisübungen zum cut-Befehl zu erstellen und dorthin zu wechseln, führen Sie den Befehl mkdir -p ~/cut_demo && cd ~/cut_demo aus.

mkdir -p ~/cut_demo && cd ~/cut_demo

Um eine Test-Benutzerdatendatei zu erstellen, die durch Kommas (,) getrennt ist, erstellen Sie mit dem echo-Befehl die Datei users.csv.

echo -e ‘id,name,role,department\n1,alice,admin,security\n2,bob,dev,backend\n3,charlie,dev,frontend’ > users.csv

Der cut-Befehl ist ein Werkzeug zum Extrahieren von bestimmten Spalten (Feldern), Bytes oder Zeichenbereichen aus Textdateien oder Befehlsausgaben anhand eines festgelegten Trennzeichens.
Mit der Option -d wird das Komma (,) als Trennzeichen festgelegt, und mit der Option -f werden das zweite und vierte Feld ausgewählt, um aus der Datei users.csv sauber nur den Namen und die Abteilungsinformationen auszugeben.
⚙️ [Wichtigste Optionen]

-d : Gibt das Trennzeichen an, das zum Trennen von Feldern verwendet werden soll (Standard ist das Tabulatorzeichen).
-f : Gibt die Nummer oder den Bereich der zu extrahierenden Felder (Spalten) an.
-c : Schneidet Daten basierend auf Zeichenpositionen anstelle von Bytes aus.
-b : Schneidet Daten basierend auf Byte-Positionen aus.
--complement : Invertiert die Auswahl und gibt alle Teile mit Ausnahme der angegebenen Felder oder Zeichenbereiche aus.
-s : Schließt Zeilen, die das Trennzeichen nicht enthalten, von der Ausgabe aus.
--output-delimiter : Ändert das bei der Ausgabe zu verwendende Feldtrennzeichen in die gewünschte Zeichenkette.

cut -d’,’ -f2,4 users.csv

Extrahieren Sie aus der Datei /etc/passwd, die Kontoinformationen des Linux-Systems enthält, anhand des Doppelpunkt-Trennzeichens (:) nur den Kontonamen (1. Feld) und den Standard-Shell-Pfad (7. Feld), und überprüfen Sie anschließend mit dem head-Befehl nur die ersten 5 Zeilen.
Durch die Kombination des cut-Befehls mit Pipes (|) können Sie auf diese Weise ganz einfach nur die wesentlichen Spaltendaten aus umfangreichen Systemkonfigurationsdateien überwachen.

cut -d’:’ -f1,7 /etc/passwd | head -n 5

Verarbeiten von Protokollen mit fester Breite durch Slicing nach Bytes (-b) und Zeichen (-c)

Um mit den Übungen fortzufahren, führen Sie den Befehl cd ~/cut_demo aus, um in das zuvor erstellte Arbeitsverzeichnis zu wechseln.

cd ~/cut_demo

Um das zeichenbasierte Slicing mit fester Breite zu üben, erstellen Sie eine Beispieldatei service.log, in der Datum, Uhrzeit und Log-Level in einem festen Format aufgezeichnet sind.

echo -e ‘2026-10-07 14:00:01 [INFO] Service started\n2026-10-07 14:00:05 [WARN] High memory usage\n2026-10-07 14:00:12 [ERROR] Connection timed out’ > service.log

Geben Sie beim cut-Befehl die Option -c1-10 an, um die Zeichen 1 bis 10 jeder Zeile herauszuschneiden und sauber nur die Datumsangabe im Format Jahr-Monat-Tag zu extrahieren.

cut -c1-10 service.log

Verwenden Sie die Option -c12-19, um genau den Zeitstempel (Stunde:Minute:Sekunde) zu isolieren und auszugeben, der sich im Bereich vom 12. bis 19. Zeichen der Protokolldatei befindet.

cut -c12-19 service.log

Wenn Sie wie bei -c22- die Endposition weglassen, können Sie den gesamten verbleibenden Text ab dem 22. Zeichen bis zum Zeilenende auf einmal ausschneiden und so den Nachrichtenbereich extrahieren.

cut -c22- service.log

Ändern des Ausgabe-Trennzeichens (–output-delimiter) und Ausschließen bestimmter Felder (–complement)

Führen Sie den Befehl cd ~/cut_demo aus, um in das Verzeichnis mit den zuvor erstellten Übungsdateien zu wechseln.

cd ~/cut_demo

Mit der Option --output-delimiter können Sie anstelle des standardmäßigen Trennzeichens zwischen den extrahierten Feldern eine beliebige Zeichenkette für die Ausgabe festlegen.
Extrahieren Sie das 2. und 3. Feld aus der durch Kommas (,) getrennten Datei users.csv und fügen Sie Leerzeichen sowie ein Pipe-Symbol (|) zwischen den Feldern ein, um die Lesbarkeit zu verbessern.

cut -d’,’ -f2,3 –output-delimiter=’ | ’ users.csv

Wenn Sie die Option --complement angeben, werden alle anderen Spalten außer dem ausgewählten Feld invertiert ausgegeben.
In Kombination mit der Option -f3 wird lediglich das 3. Feld (Rolleninformation) ausgelassen und alle übrigen Felder bleiben vollständig in der Ausgabe erhalten.

cut -d’,’ –complement -f3 users.csv

Praxisbezogene Pipeline-Integration: Statistische Analyse von Zugriffs-IPs durch Kombination von cut, sort und uniq

Um mit den Übungen fortzufahren, führen Sie den Befehl cd ~/cut_demo aus, um in das zuvor erstellte Verzeichnis zu wechseln.

cd ~/cut_demo

Um Client-Anfragen eines Webservers simulierend zu analysieren, erstellen Sie eine Beispieldatei access.log, die durch Leerzeichen getrennte Zugriffs-IPs und HTTP-Anfrageinformationen enthält.

echo -e ‘192.168.1.10 - - [07/Oct/2026] “GET /index.html” 200\n192.168.1.15 - - [07/Oct/2026] “POST /login” 401\n192.168.1.10 - - [07/Oct/2026] “GET /dashboard” 200\n10.0.0.5 - - [07/Oct/2026] “GET /api/v1” 200\n192.168.1.10 - - [07/Oct/2026] “POST /logout” 200’ > access.log

Isolieren Sie mit den Optionen -d' ' -f1 des cut-Befehls die Client-IP-Adresse, welche die erste Spalte getrennt nach Leerzeichen darstellt.
Sortieren Sie diese anschließend mit sort, zählen Sie die Häufigkeiten mit uniq -c, und verknüpfen Sie dies erneut mit sort -nr, um ein statistisches Ranking absteigend nach den am häufigsten zugreifenden IP-Adressen zu erhalten.

cut -d’ ’ -f1 access.log | sort | uniq -c | sort -nr

Bisher haben wir gesehen, wie Sie mit dem cut-Befehl gezielt und sauber nur die gewünschten Spalten aus Protokoll- und CSV-Daten extrahieren können.
Nutzen Sie Trennzeichen- und Feldoptionen gezielt aus, um alltägliche Textverarbeitungs- und Datenaufbereitungsaufgaben noch effizienter zu gestalten.