Der Befehl cat (kurz für concatenate) zeigt den Inhalt von Dateien an und kann mehrere Dateien zu einer zusammenfassen. Ohne Dateiangabe oder mit - als Argument liest cat von der Standardeingabe.

Syntax des cat-Befehls

Die allgemeine Syntax lautet:

cat [OPTIONEN] [DATEI]...
  • OPTIONEN - Flags, die das Ausgabeverhalten steuern.
  • DATEI - Eine oder mehrere Eingabedateien.

Dateiinhalt anzeigen

Die häufigste Verwendung von cat ist das Ausgeben von Dateiinhalten im Terminal:

cat /etc/os-release

Bei kurzen Dateien ist dies praktisch. Für längere Dateien eignen sich less oder more besser, da sie eine seitenweise Navigation ermöglichen.

Mehrere Dateien verketten

Gibst du mehrere Dateien an, gibt cat deren Inhalte nacheinander aus:

cat kopfzeile.txt inhalt.txt fusszeile.txt

Mit dem Umleitungsoperator > schreibst du die verkettete Ausgabe in eine neue Datei:

cat teil1.txt teil2.txt teil3.txt > komplett.txt

Um Inhalte an eine bestehende Datei anzuhängen, verwende >>:

cat neue-eintraege.txt >> protokoll.txt

Zeilennummern ausgeben

Die Option -n nummeriert alle Zeilen:

cat -n /etc/hosts

Ausgabe:

     1	127.0.0.1	localhost
     2	127.0.1.1	meinrechner
     3
     4	# IPv6
     5	::1		localhost

Mit -b werden nur nicht-leere Zeilen nummeriert. Das ist nützlich bei Dateien mit vielen Leerzeilen:

cat -b skript.sh

Leere Zeilen reduzieren

Bei Dateien mit mehreren aufeinanderfolgenden Leerzeilen fasst -s diese zu einer einzelnen zusammen:

cat -s formatiert.txt

Unsichtbare Zeichen sichtbar machen

Beim Debuggen von Konfigurationsdateien oder Skripten hilft es, unsichtbare Zeichen anzuzeigen.

Tabulatoren anzeigen

Die Option -T stellt Tabulatoren als ^I dar:

cat -T makefile

So erkennst du, ob Einrückungen aus Tabulatoren oder Leerzeichen bestehen - bei Makefiles ein häufiger Fehlerquell.

Zeilenenden markieren

Mit -E erscheint am Ende jeder Zeile ein $:

cat -E config.ini

Das zeigt nachfolgende Leerzeichen oder unterschiedliche Zeilenumbrüche (etwa bei Dateien aus Windows).

Alle Sonderzeichen anzeigen

Die Option -A kombiniert -E und -T und zeigt zusätzlich nicht-druckbare Zeichen:

cat -A verdaechtig.txt

Dateien erstellen

Für kurze Textdateien ist cat schneller als ein Editor. Leite die Standardeingabe in eine Datei um:

cat > notiz.txt

Gib den gewünschten Text ein und beende mit Strg+D. Die Datei wird gespeichert.

Zum Anhängen an eine bestehende Datei:

cat >> notiz.txt

Datei kopieren

Du kannst cat auch zum Kopieren verwenden:

cat original.txt > kopie.txt

Der cp-Befehl ist dafür allerdings die bessere Wahl, da er Metadaten wie Berechtigungen erhält.

Zusammenfassung

Der cat-Befehl gibt Dateiinhalte aus, verkettet mehrere Dateien und erstellt neue Textdateien. Für die Fehlersuche in Konfigurationsdateien sind die Optionen zur Anzeige unsichtbarer Zeichen (-A, -T, -E) besonders hilfreich.

Verwandte Artikel