Buchgenerator (deaktivieren)

Awk: Einleitung

Aus Wikibooks

Wechseln zu: Navigation, Suche
One wikibook.svg Hoch zu Gesamtinhaltsverzeichnis | Vor zu Grundlagen Wikibooks buchseite.svg


Inhaltsverzeichnis

[Bearbeiten] Allgemeines

awk ist ein Tool für die Analyse und Manipulation von Textdateien. Der Begriff awk steht für die Skriptsprache awk, den awk-Interpreter und auch das Unix-Kommando awk.

awk gibt es in mehreren Varianten, zum Beispiel gawk (GNU awk), nawk (new awk) oder oawk (old awk). awk ist auf fast allen Unix-Systemen anzutreffen, aber auch für MS Windows sind entsprechend adaptierte Softwarepakete erhältlich. Dadurch, dass awk auf vielen Computerplattformen vorhanden ist können einmal erstellte awk-Skripte direkt oder mit minimalen Anpassungen auf all diesen Systemen eingesetzt werden.

awk ist spezialisiert auf die Mustererkennung und Datenverarbeitung bei spaltenförmig organisierten Textdateien. Für die Verarbeitung von Binärdateien ist awk nicht konzipiert. Die Syntax und die lexikalischen Elemente der Skriptsprache awk sind teils eng an die Programmiersprache C angelehnt.

Typische Fälle für einen awk-Einsatz sind:

  • Reportgenerierung
  • Prototyping
  • Dateikonvertierung
  • Extrahierung von Dateiinhalten

[Bearbeiten] Entwicklungsgeschichte

Die Bezeichnung awk leitet sich von den Programmautoren A.V.Aho, P.J.Weinberger und B.W.Kernighan ab. awk entstand 1977 und wurde 1985 durch die verbesserte Version nawk abgelöst. Auf Linux-Systemen ist gawk anzutreffen, welches seit 1986 zur Verfügung steht und seither laufend weiterentwickelt wird.

[Bearbeiten] awk-Alternativen

Wie bereits geschildert ist awk ein gutes Werkzeug für spezielle Einsatzfälle. Aber auch für diese speziellen Einsatzfälle gibt es Konkurrenz. awk zeichnet sich durch seine Einfachheit und schnelle Erlernbarkeit aus. Werden die Skripte aber komplexer, so ist zu überlegen ob nicht der Einsatz einer mächtigeren Skriptsprache wie beispielsweise Perl oder Python angebracht wäre. Ist hohe Geschwindigkeit bei der Programmausführung gefordert, so spricht einiges für den Einsatz kompilierter Programme. Wer kryptische Anweisungen schätzt, kann für Textmanipulationen auch auf das Programm sed (stream editor) zurückgreifen.

[Bearbeiten] Translatoren

Zum Zwecke einer Konvertierung von awk-Skripten in andere Programmiersprachen stehen Translatoren zur Verfügung. Als Beispiel sei a2p für die automatisierte Übersetzung von awk-Code in Perl-Code genannt.


One wikibook.svg Hoch zu Gesamtinhaltsverzeichnis | Vor zu Grundlagen Wikibooks buchseite.svg
Persönliche Werkzeuge