wc — Zeilen, Wörter und Bytes zählen
Praxis-Guide zu wc: Zeilen, Wörter, Zeichen und Bytes in Dateien oder Pipes zählen — vom schnellen wc -l bis zur längsten Zeile.
wc (word count) zählt Zeilen, Wörter, Zeichen und Bytes – egal ob in Dateien oder in einer Pipe. Am häufigsten brauchst du wc -l für die Zeilenzahl, etwa um Logeinträge, Treffer oder Dateien zu zählen. Übergibst du mehrere Dateien, hängt wc automatisch eine Summenzeile an. Wichtig zu wissen: -c zählt Bytes, -m dagegen Zeichen (bei UTF-8 also Umlaute korrekt als ein Zeichen), und mit < datei statt einem Argument unterdrückst du den Dateinamen in der Ausgabe. Dieser Guide zeigt dir die nützlichsten Varianten für den Alltag.
Grundlagen
wc <file> — Zeilenzahl, Wortzahl und Bytezahl einer Datei anzeigen.
wc README.mdwc <file1> <file2> — Zählungen für mehrere Dateien mit einer Summenzeile anzeigen.
wc src/*.js<command> | wc — Zeilen, Wörter und Bytes aus einer Pipe zählen.
cat access.log | wcZeilen zählen
wc -l <file> — Die Anzahl der Zeilen einer Datei zählen.
wc -l access.logwc -l <file1> <file2> — Zeilen in mehreren Dateien mit Gesamtsumme zählen.
wc -l *.csv<command> | wc -l — Die Anzahl der Zeilen einer Befehlsausgabe zählen.
grep 'ERROR' app.log | wc -lwc -l < <file> — Zeilen zählen, ohne den Dateinamen auszugeben (Eingabe umleiten).
wc -l < data.csvWörter zählen
wc -w <file> — Die Anzahl der Wörter einer Datei zählen.
wc -w essay.txtwc -w <file1> <file2> — Wörter in mehreren Dateien mit Gesamtsumme zählen.
wc -w *.md<command> | wc -w — Wörter einer Befehlsausgabe zählen.
echo 'hello world foo bar' | wc -wZeichen und Bytes zählen
wc -c <file> — Die Anzahl der Bytes einer Datei zählen.
wc -c image.pngwc -m <file> — Die Anzahl der Zeichen zählen (multibyte-fähig, beachtet die Locale).
wc -m utf8-text.txtwc -c < <file> — Die Dateigröße in Bytes ohne Dateinamen ermitteln.
wc -c < archive.tar.gzLängste Zeile
wc -L <file> — Die Länge der längsten Zeile einer Datei anzeigen.
wc -L config.jsonwc -L <file1> <file2> — Die Länge der längsten Zeile je Datei mit Maximum anzeigen.
wc -L *.py<command> | wc -L — Die Länge der längsten Zeile einer Befehlsausgabe ermitteln.
cat /etc/hosts | wc -LOptionen kombinieren
wc -lw <file> — Zeilen- und Wortzahl zusammen anzeigen.
wc -lw README.mdwc -lc <file> — Zeilen- und Bytezahl anzeigen.
wc -lc access.logwc -lwm <file> — Zeilen, Wörter und Zeichen anzeigen (multibyte-fähig).
wc -lwm article.txtPipelines und Praxismuster
find <path> -name '<glob>' | wc -l — Zählen, wie viele Dateien einem Muster entsprechen.
find src/ -name '*.js' | wc -lfind <path> -name '<glob>' -exec cat {} + | wc -l — Gesamtzahl der Codezeilen über alle passenden Dateien zählen.
find src/ -name '*.py' -exec cat {} + | wc -lgit diff --name-only | wc -l — Die Anzahl der geänderten Dateien im Git-Arbeitsbaum zählen.
git log --oneline | wc -l — Die Gesamtzahl der Commits in einem Git-Repository zählen.
ps aux | wc -l — Die Anzahl laufender Prozesse zählen (eins für die Kopfzeile abziehen).
ls -1 <path> | wc -l — Die Anzahl der Dateien und Verzeichnisse in einem Ordner zählen.
ls -1 /var/log/ | wc -lgrep -c '' <file> — Alternative Zeilenzählung mit grep (entspricht wc -l).
grep -c '' data.csvwc -l <files> | sort -rn | head -<n> — Die Dateien mit den meisten Zeilen finden.
wc -l src/*.js | sort -rn | head -10wc -l <files> | tail -1 — Nur die Gesamtzeilenzahl über mehrere Dateien ermitteln.
wc -l *.log | tail -1awk 'END {print NR}' <file> — Alternative Zeilenzählung mit awk (nützlich in größeren awk-Skripten).
awk 'END {print NR}' access.log Fazit
wc ist das schnellste Werkzeug für ein Gefühl von Größe und Umfang und sitzt in unzähligen Pipelines am Ende einer Zählung. Beachte den feinen Unterschied zwischen -c (Bytes) und -m (Zeichen): Bei reinem ASCII sind beide gleich, bei UTF-8-Text mit Umlauten oder Emojis weichen sie ab. wc -l zählt streng genommen die Zeilenumbrüche – endet eine Datei ohne abschließenden Zeilenumbruch, wird die letzte Zeile nicht mitgezählt. Und nutzt du die Eingabeumleitung wc -l < datei statt wc -l datei, bekommst du nur die nackte Zahl ohne Dateinamen, was sich gut in Skripten weiterverwenden lässt.
Weiterführende Links
- Wikipedia: wc (Unix) – Überblick und Funktionsweise des Kommandos
- ubuntuusers-Wiki: wc – deutschsprachige Einführung mit Beispielen