cut (Unix)
cut ist ein Unix-Kommando zur spaltenweisen Extraktion von zeilenweise eingelesenem Text.
Zeilensegmente können byte-(-b
), zeichen-(-c
) oder felderweise (-f
) extrahiert werden, wobei mittels -d
ein Trennzeichen spezifiziert werden kann. Für Bereichs-Spezifizierungen stehen die Optionen N
, N-M,
N-
(N
bis Zeilenende), oder -M
(Zeilenanfang bis M
) zur Verfügung.
Die erste bekannte, öffentliche Version von cut war 1982 Bestandteil von Unix System III[1]. In den meisten Linux-Distributionen ist heute die Implementation des Pakets Gnu Core Utilities enthalten, diese wurde von David M. Ihnat, David MacKenzie, und Jim Meyering erstellt[2].
Beispiele
[Bearbeiten | Quelltext bearbeiten]Eine Datei a.tst enthalte folgende Zeilen:
foo:bar:baz:qux:quux
one:two:three:four:five:six:seven
alpha:beta:gamma:delta:epsilon:zeta:eta:teta:iota:kappa:lambda:mu
Mit
% cut -c 4-10 a.tst
lassen sich dann zum Beispiel die 4.–10. Zeichen jeder Zeile ausgeben:
:bar:ba
:two:th
ha:beta
während
% cut -d : -f 5- a.tst
die Zeilen in Felder einteilt, die durch Doppelpunkte separiert sind und unterschiedlich viele Zeichen enthalten können. Jeweils vom fünften solchen Feld an wird dann der Restinhalt der Zeile ausgegeben:
quux
five:six:seven
epsilon:zeta:eta:teta:iota:kappa:lambda:mu
Weblinks
[Bearbeiten | Quelltext bearbeiten]cut
: cut out selected fields of each line of a file – Open Group Base Specificationcut(1)
: select portions of each line of a file – OpenBSD General Commands Manualcut(1)
: Teile jeder Zeile aus Dateien entfernen – Debian GNU/Linux Ausführbare Programme oder Shell-Befehle Handbuchseite- Cut out selected fields of each line of a file Betrachtung von
cut
und dessen historischem Hintergrund
Einzelnachweise
[Bearbeiten | Quelltext bearbeiten]- ↑ Markus Schnalke: Cut out selected fields of each line of a file. In: freiesmagazin. (marmaro.de [PDF]).
- ↑ cut(1): remove sections from each line of files - Linux man page. Abgerufen am 28. März 2020.