Successfully reported this slideshow.
Your SlideShare is downloading. ×

Unixkurs 03 - Pipes

Ad

Unixkurs
Verarbeiten von Textdateien,
Umgang mit Pipes

Ad

Unix-Philosophie
• Klein ist schön.
• Jedes Programm soll genau eine Sache gut machen.
• Portabilität geht über Effizienz....

Ad

Unix Toolbox
• auf allen Unixen verfügbar
• Finden von Mustern
• Anzeigen von Dateien oder Teilen davon
• Extraktion von I...

Ad

Ad

Ad

Ad

Ad

Ad

Ad

Ad

Ad

Ad

Ad

Ad

Ad

Ad

Ad

Ad

Ad

Ad

Ad

Ad

Ad

Ad

Ad

Ad

Ad

Ad

Ad

Ad

Ad

Loading in …3
×

Check these out next

1 of 32 Ad
1 of 32 Ad

Unixkurs 03 - Pipes

Download to read offline

Folien aus einem Unixkurs, den ich gehalten habe.

Im Kurs ging es um

Allgemeines zu Unix
Text editieren mit VIM Standard-Unix-Befehle Dateisysteme
Useraccounts und Rechte Prozess- und Speicherverwaltung Shellscripting

Folien aus einem Unixkurs, den ich gehalten habe.

Im Kurs ging es um

Allgemeines zu Unix
Text editieren mit VIM Standard-Unix-Befehle Dateisysteme
Useraccounts und Rechte Prozess- und Speicherverwaltung Shellscripting

Advertisement
Advertisement

Unixkurs 03 - Pipes

  1. 1. Unixkurs Verarbeiten von Textdateien, Umgang mit Pipes
  2. 2. Unix-Philosophie • Klein ist schön. • Jedes Programm soll genau eine Sache gut machen. • Portabilität geht über Effizienz. • Speichere Daten in Textdateien.
  3. 3. Unix Toolbox • auf allen Unixen verfügbar • Finden von Mustern • Anzeigen von Dateien oder Teilen davon • Extraktion von Informationen • Zeilenweises Sortieren • leicht zuVerknüpfen mit Pipes
  4. 4. cat • Programm zum Ausgeben und Zusammenfügen von Dateien • Ausgeben: • cat datei.txt • Zusammenfügen: • cat datei1.txt datei2.txt > beides.txt
  5. 5. cat datei1.txt datei2.txt cat datei1.txt datei2.txt > datei3.txt datei3.txt cat
  6. 6. sort • Programm zum zeilenweisen Sortieren von Textdateien • sortiert ohne weitere Optionen • nach der Inhalt der ganzen Zeile • lexikographisch (zB. "1, 11, 2, 223, 3") • in aufsteigender Reihenfolge
  7. 7. split datei.txt split -l 20 datei.txt schnipsel- split schnipsel-aa schnipsel-ab schnipsel-ac nach 20 Zeilen Präfix
  8. 8. split • Programm zum Aufteilen von Dateien in kleinere Teile
  9. 9. sort erste Spalte numerisch absteigende Reihenfolge sort -k2 -n -r tabelle.txt
  10. 10. 168 Franz 173 Meike 153 Frieda 143 Adele 111 Karl 96 Siegrid 202 Ulf 179 Hannes 133 Alfred 178 Verena 153 Bertram 111 Karl 133 Alfred 143 Adele 153 Bertram 153 Frieda 168 Franz 173 Meike 178 Verena 179 Hannes 202 Ulf 96 Siegrid sort
  11. 11. 168 Franz 173 Meike 153 Frieda 143 Adele 111 Karl 96 Siegrid 202 Ulf 179 Hannes 133 Alfred 178 Verena 153 Bertram sort -n 96 Siegrid 111 Karl 133 Alfred 143 Adele 153 Bertram 153 Frieda 168 Franz 173 Meike 178 Verena 179 Hannes 202 Ulf
  12. 12. 168 Franz 173 Meike 153 Frieda 143 Adele 111 Karl 96 Siegrid 202 Ulf 179 Hannes 133 Alfred 178 Verena 153 Bertram sort -k2 143 Adele 133 Alfred 153 Bertram 168 Franz 153 Frieda 179 Hannes 111 Karl 173 Meike 96 Siegrid 202 Ulf 178 Verena
  13. 13. 168 Franz 173 Meike 153 Frieda 143 Adele 111 Karl 96 Siegrid 202 Ulf 179 Hannes 133 Alfred 178 Verena 153 Bertram sort -r -k2 178 Verena 202 Ulf 96 Siegrid 173 Meike 111 Karl 179 Hannes 153 Frieda 168 Franz 153 Bertram 133 Alfred 143 Adele
  14. 14. grep • findet Zeilen, in denen bestimmte Muster vorkommen • eines der praktischsten Kommandos in der Unixwelt • kommt auch mit "regulären Ausdrücken" klar global/regular expression/print
  15. 15. grep f 168 Franz m 173 Meike f 153 Frieda f 143 Adele f 111 Karl m 96 Siegrid f 202 Ulf m 179 Hannes m 133 Alfred m 178 Verena f 153 Bertram m 173 Meike f 153 Frieda f 143 Adele f 96 Siegrid f 202 Ulf m 133 Alfred m 178 Verena f
  16. 16. grep f$ 168 Franz m 173 Meike f 153 Frieda f 143 Adele f 111 Karl m 96 Siegrid f 202 Ulf m 179 Hannes m 133 Alfred m 178 Verena f 153 Bertram m 173 Meike f 153 Frieda 143 Adele f 96 Siegrid 178 Verena Zeilenende
  17. 17. Exkurs: reguläre Ausdrücke Reguläre Ausdrücke sind Zeichenketten die Mengen von Zeichenketten mit bestimmten syntaktischen Regeln beschreiben. John Kleen (1909-1994) Erfinder der regulären A
  18. 18. Exkurs: reguläre Ausdrücke Ausdruck Bedeutung . ein beliebiges Zeichen a* beliebig viele a .* beliebig viele beliebige Zeichen (alles) [0-3] Zahl zwischen 0 und 3 f$ Zeilenende ^1 Zeilenanfang
  19. 19. Exkurs: reguläre Ausdrücke • Wie beschreibt man die Menge {Tanne,Tonne,Tenne,..}? • Der zweite Buchstabe ist vorhanden aber beliebig. • Der passende reguläre Ausdruck wäre: T.nne
  20. 20. Exkurs: reguläre Ausdrücke • “Menge aller Sätze die mit Das beginnen, und mit Ende aufhören." • Der passende reguläre Ausdruck wäre: ^Das.*Ende$
  21. 21. grep e.*e 168 Franz m 173 Meike f 153 Frieda f 143 Adele f 111 Karl m 96 Siegrid f 202 Ulf m 179 Hannes m 133 Alfred m 178 Verena f 153 Bertram m 173 Meike f 143 Adele f 178 Verena beliebig viel irgendwas
  22. 22. grep -v e.*e 168 Franz m 173 Meike f 153 Frieda f 143 Adele f 111 Karl m 96 Siegrid f 202 Ulf m 179 Hannes m 133 Alfred m 178 Verena f 153 Bertram m 168 Franz m 153 Frieda 111 Karl m 96 Siegrid 202 Ulf m 179 Hannes 133 Alfred 153 Bertram beliebig viel irgendwas Zeilen die Muster nicht enthalten
  23. 23. head/tail • Geben die letzen/ersten Zeilen in einer Textdatei wieder
  24. 24. head -n 5 168 Franz m 173 Meike f 153 Frieda f 143 Adele f 111 Karl m 96 Siegrid f 202 Ulf m 179 Hannes m 133 Alfred m 178 Verena f 153 Bertram m 168 Franz m 173 Meike f 153 Frieda f 143 Adele f 111 Karl m
  25. 25. tail -n 5 168 Franz m 173 Meike f 153 Frieda f 143 Adele f 111 Karl m 96 Siegrid f 202 Ulf m 179 Hannes m 133 Alfred m 178 Verena f 153 Bertram m 202 Ulf m 179 Hannes m 133 Alfred m 178 Verena f 153 Bertram m
  26. 26. Unix Pipes • Erlauben das im Wesentlichen das "Aneinanderschalten" von Programmen • vergleichbar mit einem Filtersystem, in dem Wasser mehrere Stationen durchlaufen muss
  27. 27. Unix-Pipes • Alle Programme haben drei Kanäle Programm Eingabe (0) Ausgabe (1) Fehler (2)
  28. 28. Unix-Pipes • Die Kanäle werden über Pipes verbunden who Eingabe (0) Fehler (2) grep zx
  29. 29. Pipesyntax • programm1 | programm2 | programm3 • programm > ausgabe • programm < eingabe • programm >> ausgabe • programm 1> ausgabe 2> fehler
  30. 30. grep m$ tabelle.txt sort -n head -n 3 grep m$ tabelle.txt | sort -n | head -n 3
  31. 31. grep m$ tabelle.txt sort -n head -n 3 werden gleichzeitig gestartet und warten auf Eingaben grep m$ tabelle.txt | sort -n | head -n 3 Daten fließen konstant

×