Linuxhotel Wiki

Wie ging das nochmal?

Benutzer-Werkzeuge

Webseiten-Werkzeuge


admin_grundlagen:shell_filter

Unterschiede

Hier werden die Unterschiede zwischen zwei Versionen gezeigt.

Link zu der Vergleichsansicht

Beide Seiten, vorherige Überarbeitung Vorherige Überarbeitung
Nächste Überarbeitung
Vorherige Überarbeitung
admin_grundlagen:shell_filter [2014/09/23 09:29]
ingo_wichmann
admin_grundlagen:shell_filter [2020/12/07 18:13] (aktuell)
holger_jakobs [sort]
Zeile 1: Zeile 1:
-====== ​Shell Filter ​====== +====== ​Filterbefehle ​====== 
-|cat file1 file2   |Null-Filter. Datei ausgeben. Eigentlich ​catenate: Mehrere Quellen verketten ​   | + 
-|tac file          |Von Hinten nach Vorne (EOF to BOF)                                             | +{{ :​admin_grundlagen:​prozess.svg?​300}} 
-|head -3 file      |Die ersten drei Zeilen ​                                                        | + 
-|tail -10 file     |Die letzten 10  ​| +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''​. 
-|tail -file.log  |Follow. Dateiende fortlaufend ​ausgeben ​(z.B. für logfiles) ​ | + 
-|tail -F file.log | = ''​--follow=name'' ​ ​Besser:​ Folge nicht der inode sondern ​den Namen (logrotate)  ​| +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. 
-|sort file1          |Alphabetisch ​Sortieren  ​| + 
-|sort -nru           |Numerisch, Rückwärts,​ Uniq  | + 
-|uniq file           ​|Fortlaufende ​gleiche Zeilen eliminieren  ​| +==== cat ==== 
-|nl file             |Datei zeilenweise numerieren ​ | +Null-Filter. Datei ausgeben. Eigentlich ​con**cat**enate: Mehrere Quellen verketten ​und ausgeben. Es ist genau das Gegenteil von ''​split''​ 
-|grep "pat" file     |Zeilen mit dem Muster "​pat"​ in Datei(en) ausgeben  ​+  cat file1 file2 
-|grep -v "​pat"​ file  |Negation  ​+==== tac ==== 
-|grep -riH "​pat" ​dir  |Rekursiv (-r), case insensitive (-i) und mit Ausgabe Dateinamen (-H) Inhalte suchen ​ |+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 ​-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 -file 
 +Die Zeilen ab der 3Zeile von Datei ''​file'' ​ausgeben
 +  tail +3 file  
 +Die letzten 10 Kernelmeldungen anzeigen: 
 +  dmesg | tail 
 +Logdatei ''/​var/​log/​messages''​ fortlaufend anzeigen: 
 +((''​-F'' ​ist die Kurzform von ''​%%--%%follow=name''​. Das ist besser als ''​-f'',​ da ''​-F'' ​nicht dem Inode, ​sondern ​dem Namen folgt. Log-Dateien werden gelegentlich rotiert, und die alte Datei ändert sich dann nicht mehr, weil jetzt in eine neue Log-Datei mit dem bisherigen Namen geschrieben wird.)
 +  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 -
 +{{ :​admin_grundlagen:​prozesspipe.svg ​|}} 
 + 
 +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 -"​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"​
admin_grundlagen/shell_filter.1411464564.txt.gz · Zuletzt geändert: 2014/09/23 09:29 von ingo_wichmann