Der Schnittbefehl
Der cut-Befehl wird am häufigsten verwendet, um einzelne Datenspalten aus der Eingabe auszuwählen, die durch ein einzelnes Zeichen getrennt sind, z. B. eine /etc/passwd-Datei. Zum Beispiel wird der cut-Befehl verwendet, um bestimmte Spalten/Zeichen eines Textstücks zu extrahieren, das wie folgt gegeben ist:
- -c :Gibt das Filtern von Zeichen an
- -d :Gibt das Trennzeichen für Felder an
- -f :Gibt die Feldnummer an
Beispiele für Schnittbefehle
Im Folgenden finden Sie einige Beispiele, die die Verwendung des Befehls cut zeigen:
Beispiel 1
Beginnen wir mit einem einfachen Beispiel für das Extrahieren einer bestimmten Spalte aus der Datei /etc/passwd. Da die Felder der /etc/passwd-Datei mit dem Trennzeichen „:(Doppelpunkt)“ getrennt sind, verwenden wir die Option „-d:“ im Befehl.
# cut -d: -f6 /etc/passwd
In diesem Beispiel gibt -d das Trennzeichen oder die Trennvariable an, in diesem Fall einen Doppelpunkt, und -f gibt die Nummer des Felds (oder der Spalte) an, beginnend bei 1.
Beispiel 2
Wir können auch mehrere Spalten aus der /etc/passwd-Datei herausfiltern, indem wir die kommagetrennten Indizes verwenden. Zum Beispiel:
# cut -d: -f1,3 /etc/passwd
Die Anzeige enthält den Anmeldenamen und die Benutzer-ID.
Beispiel 3
Wir können die Feldnummern auch mit durch Bindestrich getrennten Bereichen angeben. Wir können auch die durch Kommas getrennten Indizes und durch Bindestriche getrennten Bereiche kombinieren, um die Spalten herauszufiltern. Zum Beispiel:
# cut -d: -f1,3-4 /etc/passwd
Beispiel 4
Wir können eine der Zahlen außerhalb eines Bereichs lassen, um „bis“ oder „von“ zu bedeuten. Um beispielsweise die Spalten „bis zu 2“ herauszufiltern, verwenden Sie den folgenden Befehl:
# cut -d: -f-2 /etc/passwd
Um Felder von 6 bis zum Ende anzuzeigen, verwenden Sie auf ähnliche Weise den folgenden Befehl:
# cut -d: -f6- /etc/passwd
Beispiel 5
Der Schnitt ist jedoch nicht auf begrenzte Daten beschränkt. Es kann auch nach Zeichenanzahl mit -c oder Bytes mit -b aufgeteilt werden. Dies kann eine nützliche Methode sein, um nur eine bestimmte Anzahl oder einen bestimmten Bereich von Bytes pro Zeile zu erhalten. Wie im folgenden Beispiel gezeigt, wird die Ausgabe des date-Befehls als Eingabe an den cut-Befehl gesendet und nur die ersten drei Zeichen werden auf dem Bildschirm ausgegeben, was wie folgt dargestellt wird:
# date | cut -c1-3 Wed
Der date-Befehl ohne den cut-Befehl würde eine Ausgabe wie unten gezeigt ausgeben:
# date Wed Dec 5 15:24:12 UTC 2018