(cut out selected fields of each line of a file)
cut liest einen Eingabetext zeilenweise aus Dateien oder von der Standard-Eingabe und schneidet aus den Zeilen bestimmte Bytes (Format 1), Zeichen (Format 2) oder Felder (Format 3) aus. Die ausgeschnittenen Elemente gibt cut auf die Standard-Ausgabe aus.
Syntax
Format 1: |
cut -b liste[ -n][ datei ...] |
Format 2: |
cut -c liste[ datei ...] |
Format 3: |
cut -f liste[ -d zeichen][ -s][ datei ...] |
Bytes ausschneiden
(b - bytes) Bei Bereichsangaben sind folgende Kurzformen zulässig: -n für 1- n und n - für n -„letzte Spalte“ Beispiel:
Ein Zeichen, das aus mehreren Bytes bestehen kann, wird nicht byteweise ausgeschnitten. Jedes Zeichen von liste, das als Bereich n1-n2 angegeben wird, wird folgendermaßen behandelt: Ist n1 nicht das erste Byte des Zeichens, wird n1 herabgesetzt, um das erste Byte des Zeichens auszuschneiden.
Name der Eingabedatei. Sie können mehrere Dateien angeben. datei nicht angegeben: Zeichen ausschneiden
(c - character) liste hat die unter Format 1 beschriebene Form.
Name der Eingabedatei. Sie können mehrere Dateien angeben. datei nicht angegeben: Felder ausschneiden
(f - field) liste hat die unter Format 1 beschriebene Form.
Feldtrennzeichen ist das Zeichen zeichen. -d nicht angegeben:
Zeilen ohne Feldtrennzeichen werden nicht ausgegeben. -s nicht angegeben:
Name der Eingabedatei. Sie können mehrere Dateien angeben. datei nicht angegeben: |
Fehler
Eine Zeile kann maximal 1023 Zeichen oder Felder lang sein. Möglicherweise kann auch das Neue-Zeile-Zeichen fehlen.
Falsch angegebene liste oder fehlende Option -b, -c oder -f. Es wird kein Fehler gemeldet, wenn die Zeile weniger Felder hat, als liste fordert.
Das Feldtrennzeichen zur Option -d fehlt.
Angrenzende Rückschritt-Zeichen können nicht richtig abgearbeitet werden.
|
Internationale Umgebung
Die folgenden Umgebungsvariablen beeinflussen die Ausführung des Kommandos cut: LANG Gibt einen Standardwert für die Variablen für die internationale Umgebung an, die nicht gesetzt oder Null sind. Ist LANG nicht gesetzt oder Null, wird der entsprechende Standardwert der internationalen Umgebung verwendet. Enthält eine der Internationalisierungsvariablen eine ungültige Einstellung, verhält sich das Kommando so, als sei keine der Variablen definiert worden. LC_ALL Ist diese Variable auf einen Wert gesetzt, d. h. ist sie nicht leer, überschreibt dieser Wert die Werte aller übrigen Internationalisierungsvariablen. LC_CTYPE Legt die internationale Umgebung für die Interpretation der Byte-Folgen eines Datentexts als Zeichen fest (z.B. Singlebytezeichen im Unterschied zu Mehrbytezeichen in Argumenten). LC_MESSAGES Legt die internationale Umgebung für Format und Inhalt der Diagnosemeldungen fest, die in die Standardfehlerausgabe geschrieben werden. NLSPATH Legt den Pfad der Meldungsdateien für LC_MESSAGES fest. |
Beispiel 1
Die ersten 72 Zeichen jeder Eingabezeile ausgeben:
|
Beispiel 2
Aus den Zeilen der Datei /etc/group sollen jeweils das erste (Gruppenname) und dritte Feld (Gruppennummer) ausgeschnitten und ausgegeben werden. Die Felder in dieser Datei sind durch einen Doppelpunkt getrennt.
|
Beispiel 3
Aus der Datei rechnung eines Versandhauses sollen die Namen der Kunden, deren Rechnung im Mai 05 fällig ist, zusammen mit dem Rechnungsbetrag ausgefiltert werden. Becker Muenchen 10.000 13.05.05 Brauer Nuernberg 7.000 01.07.05 Drechsler Hamburg 8.000 07.05.05 Ebersbusch Stuttgart 450 20.06.05 Die Felder der Tabelle sind durch genau ein Tabulatorzeichen voneinander getrennt und mit Leerzeichen aufgefüllt.
Erläuterung: Wollen Sie den Kundennamen in der Datei namen zusätzlich das Datum voranstellen und dann das Ergebnis nach dem Datum sortieren, dann geben Sie ein:
Erläuterung: |
Siehe auch
awk, grep, paste |