Linux cut Befehl Nutzungshandbuch

Der Linux-Befehl `cut` ermöglicht das gezielte Extrahieren von Textteilen aus Dateien oder Eingaben, ohne die Originaldaten zu verändern. In diesem Leitfaden werden seine Anwendung und Syntax erläutert.
Der cut
Befehl in Linux ist ein leistungsstarkes Textverarbeitungswerkzeug, das verwendet wird, um bestimmte Abschnitte aus jeder Zeile einer Datei oder aus geleitetem Input zu extrahieren. Er verändert die ursprüngliche Datei nicht, sondern liest einfach den Inhalt und zeigt die gewünschten Teile auf der Standardausgabe an. In diesem Artikel werden wir den Zweck des cut Befehls in Linux erkunden und demonstrieren, wie man ihn anhand praktischer Beispiele verwendet.
Verstehen des cut Befehls
Der cut
Befehl ist ein wertvolles Werkzeug für jeden, der mit strukturiertem Text arbeitet, da es eine effiziente Datenmanipulation und -extraktion in Unix-ähnlichen Systemen ermöglicht. Er extrahiert Teile einer Zeile basierend auf Byte-Positionen, Zeichen-Positionen, Trennzeichen oder Feldern. Dies macht ihn besonders nützlich zum Filtern und Organisieren von Daten in Shell-Skripten und Befehlszeilenoperationen. Er ist auch hilfreich für Aufgaben wie das Abrufen von Spalten aus CSV-Dateien, das Trimmen von Zeichen oder das Analysieren von Protokolldateien. Obwohl er häufig mit Dateien verwendet wird, kann der cut Befehl auch die Ausgaben anderer Befehle verarbeiten, wenn er in einer Pipeline verwendet wird.
Grundlegende Syntax des cut Befehls
Der cut Befehl hat eine sehr einfache Syntax, die Optionen und einen Dateinamen verwendet. So funktioniert es:
cut [OPTIONEN] [DATEI]
Hierbei lässt OPTIONS Sie steuern, wie der cut Befehl funktioniert. Sie können ein Feldtrennzeichen (wie ein Komma) wählen, bestimmte Felder auswählen, Feldbereiche festlegen, Zeilen ohne das Trennzeichen ignorieren usw. Die DATEI ist die Zieldatei, aus der Sie Daten extrahieren möchten. Der cut Befehl liest aus der Standard-Eingabe, wenn Sie keine Datei angeben. Darüber hinaus können Sie mehrere Dateien angeben; in diesem Fall behandelt der cut Befehl sie als eine, indem er deren Inhalte vor der Verarbeitung kombiniert.
Häufig genutzte Optionen
Der cut Befehl erlaubt es Ihnen, spezifische Teile von Text aus einer Datei oder Eingabe zu extrahieren. Sie können ihm mitteilen, was zu extrahieren ist, indem Sie verschiedene Optionen verwenden, wie Bytes, Zeichen oder Felder, und indem Sie ein bestimmtes Trennzeichen (Delimiter) festlegen. Hier sind die gängigen Optionen:
- -f oder –fields=LISTE: Wählt spezifische Felder basierend auf einem gewählten Trennzeichen aus.
- -b oder –bytes=LISTE: Extrahiert bestimmte Bytes aus jeder Zeile.
- -c oder –characters=LISTE: Zieht spezifische Zeichen aus jeder Zeile.
- -d oder –delimiter: Setzt ein benutzerdefiniertes Trennzeichen anstelle des Standardtabulators.
- –complement: Zeigt alles außer den ausgewählten Feldern, Bytes oder Zeichen an.
- -s oder –only-delimited: Überspringt Zeilen, die kein Trennzeichen enthalten. Standardmäßig sind solche Zeilen eingeschlossen.
- –output-delimiter: Ermöglicht die Auswahl eines anderen Trennzeichens für die Ausgabe. Standardmäßig verwendet cut dasselbe Trennzeichen wie die Eingabe.
Die Optionen -f
, -b
und -c
verwenden eine LISTE, um festzulegen, was extrahiert werden soll, z.B. Felder, Bytes oder Zeichen. Sie können Folgendes angeben:
- Eine einzelne Zahl wie 2
- Mehrere durch Kommas getrennte Zahlen, wie 1,3,5
- Ein Bereich wie 2-4 (d.h. extrahieren von 2 bis 4)
N-
, um von Position N bis zum Ende zu bedeuten-M
, um vom Anfang bis zur Position M zu bedeuten
Wie der cut Befehl in Linux funktioniert
Schauen wir uns einige praktische Beispiele an, um zu verstehen, wie der cut Befehl in Linux funktioniert. Erstellen Sie zunächst eine Datei mit dem Namen „mte.csv“ mit dem echo-Befehl:
echo -e "empID,empName,empDesig\n101,Anees,Author\n102,Asghar,Manager\n103,Damian,CEO" > mte.csv
Überprüfen wir den Inhalt der Datei mit dem cat-Befehl:
cat mte.csv
Hier ist es wichtig zu beachten, dass der cut Befehl die Datei nicht ändert, sondern nur die ausgewählte Ausgabe basierend auf Ihrer Anfrage anzeigt.
Daten nach Zeichen extrahieren
Verwenden Sie die -c
Option zusammen mit dem cut Befehl, um Zeichen nach Position zu extrahieren:
cut -c 1,8 mte.csv
Dieser Befehl extrahiert das erste und das achte Zeichen aus jeder Zeile:
Um Zeichen zwischen bestimmten Positionen oder Bereichen zu extrahieren, können wir den cut Befehl verwenden.
Dieser Befehl extrahiert die Zeichen (zwischen 1 und 8) aus jeder Zeile:
cut -c 1-8 mte.csv
Extrahieren Nach Byte
Wir können die Option -b
mit dem cut-Befehl verwenden, um spezifische Bytes aus jeder Zeile zu extrahieren:
cut -b 1-3 mte.csv
Dieser Befehl extrahiert die ersten drei Bytes aus jeder Zeile der Datei mte.csv
:
Extrahieren Nach Feld (Spalte)
Sie können ein ganzes Feld aus einer Datei mit dem cut-Befehl extrahieren. Verwenden Sie dazu -f
mit der Option -d
, wie folgt:
cut -d',' -f2 mte.csv
In diesem Befehl setzt -d','
den Delimiter auf ein Komma, und -f2
sagt cut, dass das zweite Feld aus jeder Zeile in der Datei mte.csv
extrahiert werden soll:
Benutzung Benutzerdefinierter Delimiter in cut
Der cut-Befehl verwendet standardmäßig ein Tabulatorzeichen als Delimiter. Wenn Ihre Felder jedoch durch etwas anderes als ein Tabulator getrennt sind, verwenden Sie -d
, um den richtigen festzulegen. Zum Beispiel können wir das fünfte Wort aus einem durch Leerzeichen getrennten Satz mit dem -d
Delimiter wie folgt erhalten:
echo "Hey! Geeks Welcome to Maketecheasier.com" | cut -d ' ' -f 5
Felder Beim Extrahieren Überspringen
Sie können spezifische Felder beim Extrahieren von Text aus einer Datei ausschließen, indem Sie die Option --complement
mit dem cut-Befehl verwenden. Diese Option instruierte den cut-Befehl, alle Felder außer den angegebenen auszugeben:
cut -d',' -f1 mte.csv --complement
Dieser Befehl überspringt die erste Spalte und gibt den Rest des Inhalts zurück:
Änderung Des Standard-Delimiters Im Output
Standardmäßig behält der cut-Befehl den Eingabedeliiter im Output bei, wenn Felder extrahiert werden. Sie können jedoch den Ausgaben-Delimiter mit der Option --output-delimiter
ändern, wenn Sie mit feldbasierten Extraktionen arbeiten:
cut -d',' -f1-3 --output-delimiter='-' mte.csv
Dieser Befehl verwendet den Bindestrich -
als Trennzeichen im Output:
Cut Mit Anderen Nützlichen Linux-Befehlen
Sie können cut auch mit anderen Linux-Befehlen unter Verwendung des Pipeline-Symbols verwenden. Zum Beispiel extrahiert der folgende Befehl die ersten 5 Zeichen aus jeder Zeile des Outputs des who
Befehls:
who | cut -c 1-5
Im folgenden Beispiel verwenden wir den cut-Befehl zusammen mit head, um die ersten zwei Zeilen der „mte.csv“-Datei anzuzeigen und nur die Felder empName und empDesig zu extrahieren:
head -n 2 mte.csv | cut -d ',' -f2,3
Verwaltung Unregelmäßiger Datenformate Mit Dem Linux Cut-Befehl
Der cut-Befehl funktioniert am besten, wenn die Daten sauber organisiert sind, mit dem gleichen Delimiter (wie ein Komma oder Tabulator), der jedes Teil trennt. Wenn die Datei jedoch ungleichmäßige Abstände oder gemischte Delimiter aufweist, kann cut allein möglicherweise nicht gut funktionieren. In solchen Situationen ist es hilfreich, die Daten zuerst mit Befehlen wie tr
oder sed zu bereinigen, um sicherzustellen, dass cut die richtigen Teile extrahieren kann.
Umgang Mit Zusätzlichen Leerzeichen
Betrachten Sie eine Datei mit dem Namen „mteData.txt“, in der die Felder durch mehrere Leerzeichen getrennt sind, wie unten gezeigt:
cat mteData.txt
Da cut einen einzelnen, konsistenten Delimiter erwartet, können wir den Abstand mit tr
vereinfachen, bevor wir cut anwenden:
cat mteData.txt | tr -s ' ' | cut -d ' ' -f1-2
Dieser Befehl liest den Inhalt von „mteData.txt“, verwendet tr, um mehrere Leerzeichen durch ein einziges Leerzeichen zu ersetzen, und verwendet dann cut, um die ersten beiden Felder, die durch Leerzeichen getrennt sind, zu extrahieren:
Umgang Mit Gemischten Delimitern
Wenn eine Datei eine Kombination aus Leerzeichen und Kommas als Delimiter verwendet, können wir das Format mit sed
normalisieren. Zum Beispiel enthält eine Datei mit dem Namen „mteData1.txt“ den folgenden Inhalt:
cat mteData1.txt
Lasst uns verwenden.
Der sed-Befehl in Kombination mit dem cut-Befehl ersetzt alle Leerzeichen durch ein Komma und extrahiert anschließend die ersten und dritten durch Kommas getrennten Felder:
sed 's/ /,/g' mteData1.txt | cut -d ',' -f1,3
Abschluss
In diesem Artikel haben wir den Linux cut-Befehl untersucht, ein nützliches Werkzeug in Linux zum Extrahieren von Daten aus Dateien oder durchgeleitetem Input. Mit seiner einfachen Syntax können Sie leicht Zeichen, Bytes oder Felder basierend auf einem Trennzeichen abrufen. Wir haben auch demonstriert, wie man den cut-Befehl mit anderen Befehlen wie tr, sed und head verwendet, um unordentliche Daten zu verwalten und die Ausgabe zu vereinfachen. Egal, ob Sie mit CSV-Dateien arbeiten, Protokolle analysieren oder Daten bereinigen, der cut-Befehl ist ein unverzichtbares Werkzeug für die Textverarbeitung in Unix-ähnlichen Systemen.
Erfahre mehr: Häufig gestellte Fragen
Was macht der Befehl Cut?
Der Befehl cut
dient zur Bearbeitung von Textdateien, indem er bestimmte Teile der Zeilen extrahiert. Zweck:
- - Extraktion von Spalten aus strukturierten Daten (z. B. CSV-Dateien)
- Trennung von Text in Zeilen nach bestimmten Delimitern (z. B. Kommas oder Tabs)
- Vereinfachung der Anzeige von Daten, die für die Analyse oder Berichterstattung relevant sind Anwendungsbeispiele:
cut -d ',' -f 1
extrahiert die erste Spalte einer CSV-Datei, die durch Kommas getrennt ist.cut -c 1-5
gibt die ersten fünf Zeichen jeder Zeile einer Datei zurück. Mitcut
lassen sich Daten schnell und effizient filtern und aufbereiten.
Wofür wird der Cut-Befehl verwendet?
Der Cut-Befehl ist ein praktisches Tool in der Kommandozeile, das dazu dient, Daten aus Textdateien gezielt zu extrahieren. Hier sind die wesentlichen Funktionen:
- -
Zeichenauswahl
- : Mit der Option
-c
- können spezifische Zeichen eines Textes ausgewählt werden.
- Trennzeichen: Die Option
-d
legt fest, welches Zeichen als Trennzeichen für Felder verwendet wird. - Feldnummer: Mit
-f
kann angegeben werden, welche Felder aus einer durch Trennzeichen strukturierten Datei extrahiert werden sollen. Beispielanwendung: - Um aus einer Datei nur das zweite Feld, getrennt durch Kommas, zu extrahieren, könnte der Befehl folgendermaßen aussehen:
cut -d',' -f2 dateiname.txt
. Durch diese Funktionen ermöglicht der Cut-Befehl eine effiziente Datenverarbeitung und -analyse in Textformaten.
Was macht der Linux-Befehl Tee?
Der Linux-Befehl tee
hat folgende Hauptfunktionen:
- -
Leiten von Standardausgaben
- : Er empfängt die Ausgabe eines Befehls und leitet sie sowohl an das Terminal als auch an eine oder mehrere Dateien weiter.
- Erstellen oder Überschreiben von Dateien: Wenn die angegebene Datei(n) nicht existiert, wird sie erstellt. Existiert die Datei bereits, wird sie standardmäßig überschrieben (es sei denn, die Option
-a
für „append“ wird verwendet). - Echtzeit-Anzeige: Nutzer können die Ausgabe eines Befehls in Echtzeit sehen und gleichzeitig speichern, was beim Debugging oder Protokollieren nützlich ist. Ein typisches Beispiel zur Verwendung wäre: bash lint program.c | tee program.log In diesem Beispiel wird die Ausgabe von
lint program.c
sowohl im Terminal angezeigt als auch in der Dateiprogram.log
gespeichert.
Was macht der Linux-Befehl du?
Der Befehl du
(Disk Usage) ist ein nützliches Tool in Linux, mit dem Sie den Speicherplatzverbrauch von Dateien und Verzeichnissen effizient ermitteln können. Hier sind die Hauptmerkmale:
- -
Speicherplatzüberblick
- :
du
- zeigt die Größe von Dateien und Verzeichnissen an, sowohl insgesamt als auch individuell.
- Ausgabe in Bytes: Standardmäßig gibt der Befehl die Größen in Bytes an, kann jedoch mit Optionen angepasst werden, um die Anzeige in anderen Einheiten (z.B. Kilobytes, Megabytes) vorzunehmen.
- Optionen: Mit verschiedenen Schaltern (z.B.
-h
für 'human-readable') können Sie die Lesbarkeit und Detailtiefe der Ausgabe steuern. - Rekursiv: Der Befehl kann auch rekursiv durch Verzeichnisse navigieren, um eine umfassende Analyse des Speicherplatzes durchzuführen. In der Praxis verwenden Sie
du
, um schnell zu erkennen, welche Dateien oder Verzeichnisse besonders viel Speicherplatz belegen, was bei der Systemverwaltung und -optimierung hilfreich ist.
- Verstehen des cut Befehls
- Wie der cut Befehl in Linux funktioniert
- Benutzung Benutzerdefinierter Delimiter in cut
- Felder Beim Extrahieren Überspringen
- Änderung Des Standard-Delimiters Im Output
- Cut Mit Anderen Nützlichen Linux-Befehlen
- Verwaltung Unregelmäßiger Datenformate Mit Dem Linux Cut-Befehl
- Abschluss
- Erfahre mehr: Häufig gestellte Fragen
Schreibe einen Kommentar