Filterbefehle
Unter einem Filter versteht man Programm, die von stdin
(Standardeingabe) lesen und auf stdout
(Standardausgabe) schreiben können. Die meisten dieser Programme tun genau dies, wenn sie keinen Dateinamenparameter erhalten haben. Falls jedoch ein oder mehrere Dateinamenparameter übergeben worden sind, werden lediglich die dort genannten Dateien nacheinander verarbeitet, nicht aber stdin
.
Um neben Dateien auch stdin
zu verarbeiten, erlauben viele Programme die Angabe von -
(einzelnes Minuszeichen bzw. Bindestrich) für stdin
. Eine echte Datei mit diesem Namen kann von diesen Programmen nicht verarbeitet werden.
cat
Null-Filter. Datei ausgeben. Eigentlich concatenate: Mehrere Quellen verketten und ausgeben. Es ist genau das Gegenteil von split
cat file1 file2
tac
Zeilen einer Textdatei in umgekehrter Reihenfolge ausgeben
tac file
head
Die ersten 10 Zeilen von Datei file
ausgeben:
head file
Die ersten drei Zeilen von Datei file
ausgeben:
head -3 file
head -n +3 file
Alle Zeilen bis auf die letzten drei:
head -n -3 file
tail
Die letzten 10 Zeilen von Datei file
ausgeben:
tail file
Die letzten 3 Zeilen von Datei file
ausgeben:
tail -3 file
Die Zeilen ab der 3. Zeile von Datei file
ausgeben:
tail +3 file
Die letzten 10 Kernelmeldungen anzeigen:
dmesg | tail
Logdatei /var/log/messages
fortlaufend anzeigen:
1)
tail -F /var/log/messages
sort
Datei file
alphabetisch sortieren:
sort file
Beim Sortieren identische Zeilen (Dubletten) entfernen:
sort -u file
Verzeichnisse nach Größe (nummerisch) sortiert anzeigen:
du -msx /usr/* | sort -n
Einträge der Benutzerliste nach dem dritten durch Doppelpunkt getrennten Feld uid
(nummerisch) sortiert anzeigen:
sort -k3n -t: /etc/passwd
uniq
aufeinander folgende gleiche Zeilen eliminieren
uniq file
aufeinander forlgende gleiche Zeilen zählen
uniq -c file
nl
Datei numeriert ausgeben (Formatierung variiert zwischen diesen Kommandos):
nl file
cat -n file
grep -n "" file
grep
Zeilen mit dem Muster „pat“ in Datei(en) ausgeben
grep "pat" file
Negation
grep -v "pat" file
Rekursiv (-r), case insensitive (-i) und mit Ausgabe Dateinamen (-H) Inhalte suchen
grep -riH "pat" dir
tr
Zeichen ersetzen (Arbeitet nur als Filter nicht mit Dateien)
cat vornamen | tr "aeiou" "eioua"
cat vornamen | tr "a-zA-Z" "A-Za-z"