Museum

Home

Lab Overview

Retrotechnology Articles

Online Manuals

⇒ cut(1) — Reliant UNIX 5.44c4

Media Vault

Software Library

Restoration Projects

Artifacts Sought

Related Articles

awk(1)

grep(1)

paste(1)

sh(1)

cut(1)                                                               cut(1)

NAME
     cut - Felder oder Spalten aus den Zeilen einer Datei herausschneiden

SYNTAX
     cut -b liste [-n] [--] [datei ...]                           Format 1a

     cut -c liste [--] [datei ...]                                Format 1b

     cut -f liste [-d zeichen] [-s] [--] [datei ...]               Format 2

BESCHREIBUNG
     cut liest einen Eingabetext zeilenweise aus Dateien oder von der Stan-
     dardeingabe und schneidet aus den Zeilen bestimmte Spalten (Format 1)
     oder Felder (Format 2) heraus. Die herausgeschnittenen Spalten bzw.
     Felder gibt cut auf die Standardausgabe aus.

OPTIONEN
   Format 1: Spalten herausschneiden

     cut -b liste [-n] [--] [datei ...]

     cut -c liste [--] [datei ...]

     -b liste
          (b - byte) cut schneidet aus jeder Eingabezeile die in liste
          angegebenen Spalten heraus und gibt sie auf die Standardausgabe
          aus. Eine Spalte ist genau ein Byte breit.

          liste ist eine Liste von Zahlen oder Zahlenbereichen. Die Ele-
          mente der Liste müssen durch Kommas getrennt und in aufsteigender
          Reihenfolge angeordnet sein. Ein Bereich n1-n2 bezieht sich auf
          alle Zahlen von n1 bis n2 einschließlich.

          Bei Bereichsangaben sind folgende Kurzformen zulässig:

          -n für 1 - n

          n- für n - "letzte Spalte"

          Beispiel:

          1,3,5   cut schneidet jeweils die 1., 3. und 5. Spalte heraus.

          1-3,5   cut schneidet jeweils die 1., 2., 3. und 5. Spalte her-
                  aus.

          -3,5    Ist Kurzform für 1. bis 3. und 5. Spalte.

          3-      Ist Kurzform für 3 bis "letzte Spalte".






Seite 1                      Reliant UNIX 5.44               Gedruckt 11/98

cut(1)                                                               cut(1)

     -n   Zeichen, die aus mehreren Byte bestehen, werden nicht geteilt.
          Intern werden die untere und die obere Grenze von Bereichsangaben
          solange reduziert, bis der Bereich nur noch komplette Zeichen
          umfaßt.

     -c liste
          (c - character) cut schneidet aus jeder Eingabezeile die in liste
          angegebenen Spalten heraus und gibt sie auf die Standardausgabe
          aus. Eine Spalte ist genau ein Zeichen breit.

          liste ist eine Liste von Zahlen oder Zahlenbereichen, wie bei der
          Option -b beschrieben.

     --   Ende der Optionenliste. Die Angabe ist nötig, wenn datei mit -
          beginnt.

     datei
          Name der Eingabedatei. Sie können mehrere Dateien angeben.

          datei nicht angegeben: cut liest von der Standardeingabe.

   Format 2: Felder herausschneiden

     cut -f liste [-d zeichen] [-s] [--] [datei ...]

     -f liste
          (f - field) cut schneidet aus jeder Eingabezeile die in liste
          angegebenen Felder heraus und gibt sie auf die Standardausgabe
          aus.

          Ein Feld besteht aus den Zeichen, die zwischen zwei Feldtrennzei-
          chen stehen. Zwei aufeinanderfolgende Feldtrennzeichen begrenzen
          ein leeres Feld. Standard-Feldtrennzeichen ist das Tabulatorzei-
          chen. Mit der Option -d können Sie das Feldtrennzeichen umdefi-
          nieren.

          Die ausgegebenen Felder sind durch je ein Feldtrennzeichen vonei-
          nander getrennt. Eingabezeilen ohne Feldtrennzeichen werden nor-
          malerweise vollständig ausgegeben (Ausnahme: Option -s). Dies ist
          bei Tabellentiteln nützlich.

          liste hat die unter Format 1 beschriebene Form.

     -d zeichen
          Feldtrennzeichen ist das Zeichen zeichen.

          Ist zeichen das Leerzeichen oder ein Shell-Sonderzeichen [siehe
          specialchar(5)], dann müssen Sie zeichen in Hochkommata ein-
          schließen: -d 'zeichen'.

          -d nicht angegeben: Feldtrennzeichen ist das Tabulatorzeichen.



Seite 2                      Reliant UNIX 5.44               Gedruckt 11/98

cut(1)                                                               cut(1)

     -s   Zeilen ohne Feldtrennzeichen werden nicht ausgegeben.

          -s nicht angegeben:

          Zeilen ohne Feldtrennzeichen werden vollständig ausgegeben.

     --   Ende der Optionenliste. Die Angabe ist nötig, wenn datei mit -
          beginnt.

     datei
          Name der Eingabedatei. Sie können mehrere Dateien angeben.

          datei nicht angegeben: cut liest von der Standardeingabe.

FEHLERMELDUNGEN

     ERROR: line too long

     Eine Zeile kann maximal 1023 Zeichen oder Felder lang sein. Möglicher-
     weise kann auch das Neue-Zeile-Zeichen fehlen.

     ERROR: bad list for c/f option

     Falsch angegebene liste oder fehlende Option -c oder -f. Es wird kein
     Fehler gemeldet, wenn die Zeile weniger Felder hat, als liste fordert.

     ERROR: no fields

     liste ist leer.

     ERROR: no delimiter

     Das Feldtrennzeichen zur Option -d fehlt.

     ERROR: cannot handle multiple adjacent backspaces

     Angrenzende Rückschritt-Zeichen können nicht richtig abgearbeitet wer-
     den.

     WARNING: cannot open datei

     Entweder existiert die Datei datei nicht oder sie kann nicht gelesen
     werden. Haben Sie mehrere Dateien angegeben, dann wird mit deren Bear-
     beitung fortgefahren.

INTERNATIONALE UMGEBUNG
     Die Umgebungsvariable LCMESSAGES bestimmt die Sprache der Meldungs-
     texte. Wenn LCMESSAGES nicht oder als leere Zeichenkette definiert
     ist, wird der Wert von LANG als Standardwert herangezogen. Ist auch
     LANG nicht oder als leere Zeichenkette definiert, verhält sich das
     System so, als wäre es nicht internationalisiert.



Seite 3                      Reliant UNIX 5.44               Gedruckt 11/98

cut(1)                                                               cut(1)

     Die Umgebungsvariable LCALL bestimmt die gesamte internationale Umge-
     bung. LCALL hat Vorrang vor allen anderen Umgebungsvariablen im
     Bereich der Internationalisierung.

BEISPIELE
     Beispiel 1

     Die ersten 72 Zeichen jeder Eingabezeile ausgeben:

     $ cut -c 1-72 datei

     Beispiel 2

     Die ersten 72 Byte jeder Eingabezeile ausgeben, unter der Bedingung,
     daß Mehrbytezeichen nicht geteilt werden:

     cut -b 1-71 -n datei

     Beispiel 3

     Aus den Zeilen der Datei /etc/passwd sollen jeweils das erste (Benut-
     zerkennung) und dritte Feld (UID) herausgeschnitten und ausgegeben
     werden. Die Felder in dieser Datei sind durch einen Doppelpunkt
     getrennt.

     $ cut -f 1,3 -d : /etc/passwd

     Beispiel 4

     Aus der Datei rechnung eines Versandhauses sollen die Namen der Kun-
     den, deren Rechnung im Mai 88 fällig ist, zusammen mit dem Rechnungs-
     betrag herausgefiltert werden.

     Die Datei hat folgenden Inhalt:

     Becker          Muenchen        10.000          13.05.88
     Brauer          Nuernberg        7.000          01.07.88
     Drechsler       Hamburg          8.000          07.05.88
     Ebersbusch      Stuttgart          450          20.06.88

     Die Felder der Tabelle sind durch genau ein Tabulatorzeichen voneinan-
     der getrennt und mit Leerzeichen aufgefüllt.

     $ grep '\.05\.88' rechnung | cut -f 1,3 > namen
     $ cat namen
     Becker          10.000
     Drechsler        8.000

     Erläuterung: grep schreibt alle Zeilen der Datei, die die Zeichenkette
     .05.88 enthalten, auf die Standardausgabe. Diese Zeilen erhält cut als
     Eingabe und schneidet aus ihnen das erste und dritte Feld heraus. Die
     Ausgabe von cut wird in die Datei namen geschrieben.


Seite 4                      Reliant UNIX 5.44               Gedruckt 11/98

cut(1)                                                               cut(1)

     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:

     $ grep '\.05\.88' rechnung | cut -f 4 > datum
     $ paste datum namen | sort
     07.05.88        Drechsler        8.000
     13.05.88        Becker          10.000

     Erläuterung: Mit der ersten Kommandozeile schreiben Sie das Datum, das
     zu den ausgewählten Kundennamen gehört, in die Datei datum. Der
     paste-Aufruf fügt die Zeilen der Dateien datum und namen horizontal,
     getrennt durch ein Tabulatorzeichen, zusammen. sort sortiert die Aus-
     gabezeilen aufsteigend nach dem Datum.

SIEHE AUCH
     awk(1), grep(1), paste(1), sh(1).





































Seite 5                      Reliant UNIX 5.44               Gedruckt 11/98

Typewritten Software • bear@typewritten.org • Edmonds, WA 98026