Cat (Unix)
Das Unix-Programm cat
wird zum Anzeigen, Formatieren und Aneinanderhängen von Textdateien. Der Name cat
leitet sich vom englischen concatenate bzw. dessen Synonym catenate ab.
Spezifikation
Die Single Unix Specification bestimmt, dass der Inhalt aller als Argumente angegebener Dateien in derselben Reihenfolge wie angegeben auf der Standardausgabe (zumeist STDOUT) ausgegeben wird.
Ist als Dateiname -
angegeben, so wird aus der Standardeingabe gelesen und in die Standardausgabe geschrieben. Praktisch bedeutet das, dass jede eingegebene Zeile nochmals ausgegeben wird, siehe hierzu den Abschnitt #Beispiele.[1]
Argumente
Hier sind die wichtigsten Argumente für cat
aufgelistet:
-A
markiert Zeilenenden mit$
, Tabs mit^I
sowie nicht druckbare Zeichen. Entspricht der Kombination-vET
-b
rückt alle Zeilen ein und nummeriert nichtleere Zeilen.-e
entspricht-vE
und ist somit fast gleichbedeutend mit-A
, markiert jedoch keine Tabs.-n
nummeriert alle Zeilen, auch Leerzeilen.-s
macht mehrere Leerzeilen zu einer Leerzeile.-T
markiert Tabs mit^I
-v
zeigt nicht-druckbare Zeichen an.
Beispiele
datei
enthält ursprünglich folgenden Inhalt:
$ cat datei
Dies ist eine
Textdatei mit
mehreren
Zeilen. Diese Zeilen
sind mit Tabs eingerückt.
Jetzt nicht mehr eingerückt.
Nun werden alle Tabs und Zeilenenden sowie nicht druckbare Zeichen markiert:
$ cat -A datei
Dies ist eine$
$
$
Textdatei mit$
mehreren$
^IZeilen. Diese Zeilen$
^Isind mit Tabs eingerM-CM-<ckt.$
Jetzt nicht mehr eingerM-CM-<ckt.$
Nun werden alle Zeilen nummeriert, mehrfache Leerzeilen aber auf eine einzige reduziert:
$ cat -s -n datei
1 Dies ist eine
2
3 Textdatei mit
4 mehreren
5 Zeilen. Diese Zeilen
6 sind mit Tabs eingerückt.
7 Jetzt nicht mehr eingerückt.
Und zum Schluss liest cat
von der Standardeingabe und gibt auf der Standardausgabe aus, was normalerweise auf ein und demselben Bildschirm passiert. Die jeweils erste Zeile wurde eingegeben, die zweite wurde von cat
ausgegeben.
$ cat -
Dies ist
Dies ist
eine Beispieldatei
eine Beispieldatei
für Wikipedia
für Wikipedia