Befehl "cut"

Zweck

Mit diesem Befehl können die Zeilen einer Datei geteilt werden.

Syntax

Ausschneiden-b Liste -n ] |  -c Liste -f Liste -s ] [  -d Zeichen ] } [ Datei ... ]

Beschreibung

Der Befehl cut schneidet Bytes, Zeichen oder Felder aus jeder Zeile einer Datei aus und schreibt diese Bytes, Zeichen oder Felder in die Standardausgabe. Wenn Sie den Parameter Datei nicht angeben, liest der Befehl cut die Standardeingabe.

Sie müssen entweder -b, -c, oder das Flag -f . Der Parameter Liste ist eine durch Kommas, Leerzeichen oder Bindestriche getrennte Liste ganzer Zahlen (in aufsteigender Reihenfolge). Der Bindestrich wird zur Angabe von Bereichen verwendet. Die folgenden Beispiele für den Parameter Liste können sich auf Bytes, Zeichen oder Felder beziehen:

1,4,7
1-3,8
-5,10
3-

Erläuterungen:-5ist eine Kurzform für die erste bis fünfte und3-ist eine Kurzform für die dritte bis letzte.

Wenn Sie den Befehl cut für Felder verwenden, kann die Länge der mit dem Parameter Liste angegebenen Felder von Feld zu Feld und von Zeile zu Zeile variieren. Die Position des Feldbegrenzungszeichens, z. B. des Tabulatorzeichens, bestimmt die Länge eines Felds.

Sie können auch mit dem Befehl grep eine Datei zeilenbasiert aufteilen und die resultierenden Dateien dann mit dem Befehl paste wieder zusammenfügen. Verwenden Sie die Befehle cut und paste, um die Reihenfolge von Spalten in einer Datei zu ändern.

Flags

Element Beschreibung
-b Liste Gibt Bytepositionen an. Diese Bytepositionen ignorieren Mehrbytezeichenbegrenzungen, sofern das Flag -n nicht ebenfalls angegeben ist.
-c Liste Gibt Zeichenpositionen an. Wenn Sie beispielsweise-c 1-72,Der Befehl cut gibt die ersten 72 Zeichen in jeder Zeile der Datei aus.
-d Zeichen Verwendet das mit der Variablen Zeichen angegebene Zeichen als Feldbegrenzer, wenn Sie das Flag -f angeben. Zeichen, die in der Shell eine besondere Bedeutung haben, wie z. B. das Leerzeichen, müssen in Anführungszeichen eingeschlossen werden.
-f Liste Gibt eine Liste von Feldern an, von denen angenommen wird, dass sie in der Datei durch einen Begrenzer voneinander getrennt sind, das standardmäßig das Tabulatorzeichen ist. Wenn Sie beispielsweise-f 1,7,Der Befehl cut gibt nur das erste und siebte Feld jeder Zeile aus. Wenn eine Zeile keine Feldbegrenzer enthält, übergibt der Befehl cut sie intakt (nützlich für Tabellenunterüberschriften), sofern Sie nicht das Flag -s angeben.
-N Unterdrückt die Teilung von Mehrbytezeichen. Nur mit dem Flag -b verwenden. Wenn das letzte Byte eines Zeichens in den mit der Variablen Liste des Flags -b- angegebenen Bereichs fällt, wird das Zeichen ausgegeben, andernfalls wird das Zeichen ausgeschlossen.
-s Unterdrückt Zeilen, die keine Begrenzungszeichen enthalten. Nur mit dem Flag -f verwenden.

Exitstatus

Dieser Befehl gibt die folgenden Exitwerte zurück:

Element Beschreibung
0 Alle Eingabedateien wurden erfolgreich ausgegeben.
>0 Es ist ein Fehler aufgetreten.

Beispiele

  1. Geben Sie Folgendes ein, um mehrere Felder jeder Zeile einer Datei anzuzeigen:
    cut  -f 1,5 -d : /etc/passwd
    Dieser Befehl zeigt die Felder für den Anmeldenamen und den vollständigen Benutzernamen aus der Datei mit den Systemkennwörtern an. Dies sind die ersten und fünften Felder (-f 1,5) getrennt durch Doppelpunkte (-d :).

    Angenommen, die Datei /etc/passwd enthält den folgenden Inhalt:

    su:*:0:0:User with special privileges:/:/usr/bin/sh
    daemon:*:1:1::/etc:
    bin:*:2:2::/usr/bin:
    sys:*:3:3::/usr/src:
    adm:*:4:4:System Administrator:/var/adm:/usr/bin/sh
    pierre:*:200:200:Pierre Harper:/home/pierre:/usr/bin/sh
    joan:*:202:200:Joan Brown:/home/joan:/usr/bin/sh
    Der Befehl cut erzeugt die folgende Ausgabe:
    su:User with special privileges
    daemon:
    bin:
    sys:
    adm:System Administrator
    pierre:Pierre Harper
    joan:Joan Brown
  2. Geben Sie Folgendes ein, um Felder in einer durch Leerzeichen getrennten Liste anzuzeigen:
    cut -f "1 2 3" -d : /etc/passwd
    Der Befehl cut erzeugt die folgende Ausgabe:
    su:*:0
    daemon:*:1
    bin:*:2
    sys:*:3
    adm:*:4
    pierre:*:200
    joan:*:202

Dateien

Element Beschreibung
/usr/bin/cut Enthält den Befehl cut.