Lektion 3: Textdateien behandeln

Oft werden wir es mit Textdateien zu tun haben, wo uns nur bestimmter Inhalt interessiert. Das können z.b. Log-Dateien sein oder Konfigurationsdateien. Hier erst einmal eine Übersicht:

cat Datei [Dateien]
liesst die Datei[en] aus und zeigt sie nacheinander an
more Datei oder less Datei
more und less zeigen Dateien seitenweise an. Less ist ‘besser’ als more (Wortwitz!), denn man kann auch zurückscrollen und less liesst nicht beim Start die komplette Datei (schneller, speichersparend). Eines von beiden wird auch beim Anzeigen von Manpages verwendet. Damit ist die Navigation und Suche auch dieselbe.
grep Suchmuster Datei [Dateien]
Grep durchsucht Datei[en] nach Suchmuster und gibt die Zeilen der Datei[en] aus, wo das Suchmuster zutrifft. Per Optionsschalter kann auch z.b. die Suche umgekehrt werden (nur Zeilen wo keine Treffer) oder Treffer + 5 Zeilen Kontext et cetera. siehe man grep
sort Kriterien Datei
Sortiert Datei nach Kriterien. Bsp: sort -t : -k 3 /etc/passwd sortiert die Datei /etc/passwd nach der dritten Spalte und verwendet den Doppelpunkt als Spaltentrenner
sed Kommando Datei
sed liesst Datei, ändert den Inhalt entsprechend Kommando und Schreibt das Ergebnis auf den Bildschirm. Die Datei bleibt unverändert. Beispiel: sed s/baum/busch/ gehoelze ersetzt alle Vorkommen von Baum durch Busch der Datei gehoelze. Manpage konsultieren für Referenz, Google für Beispiele.
awk 'Anweisungen' Datei
Awk ist erst einmal ähnlich zu sed. Es liesst Datei zeilenweise, wendet Anweisungen auf jede Zeile an und schreibt das Ergebnis auf den Bildschirm. Das besondere an awk: es kennt “Spalten” (die in Datei z.b. durch Leerzeichen oder Tabulatoren kenntlich gemacht wurden). Mit awk kann man z.b. Einzelne Spalten anzeigen, Rechenoperationen anwenden und Spalten wieder ausgeben. Wieder man -> Referenz, Google -> Beispiele
head -n Anzahl Datei
Zeigt die ersten Anzahl Zeilen einer Datei an
tail [- n Anzahl] [-f] Datei
Zeigt die letzten Anzahl Zeilen einer Datei an. Die Option -f bewirkt, dass sich tail danach nicht beendet, sondern Wartet ob neue Zeilen in die Datei geschrieben werden (z.b. von anderen Programmen). Diese Änderungen werden dann auch Angezeigt. Abbruch mit CTRL-c. Nützlich um z.b. Apache- oder Syslog -files ‘live’ zu beobachten

Schaut euch die Programme mal im einzelnen an. Nächste Lektion wird sein: Ausgabeumleitung und Pipes, Spielereien mit oben genannten Programmen.

3 Kommentare zu “Lektion 3: Textdateien behandeln”

  1. Deifl

    Ich freue mich schon auf die nächste Lektion.
    Weiter so und bitte nicht aufgeben – ich lese Dich auf jeden Fall.

  2. alp

    Yep, /bin/auch/dabei

  3. knipser

    join -1 [schluesselspalte der datei1] -2 [sp2] datei1 datei2

    zwei Ausgangsdateien anhand einer Schlüsselspalte mit gemeinsamen Werten zusammenbringen (schlüsselspalten müssen sortiert sein)

    VAR=”GROSSBUCHSTABEN”
    perl -e “print lc($VAR)”

    Umwandlung eines String in Kleinbuchstaben, dieses kleine Beispiel soll zeigen daß perl fuer kleine Aufgaben genau wie der sed verwendbar ist

Einen Kommentar schreiben: