Sprache Awk
 
StartSeite | Neues | TestSeite | ForumSeite | Teilnehmer | Kategorien | Index | Hilfe | Einstellungen | Ändern

Veränderung (letzte Änderung) (keine anderen Diffs, Normalansicht)

Hinzugefügt: 2a3,5
"The one true awk":
* http://www.cs.bell-labs.com/cm/cs/awkbook/index.html


Verändert: 7c10,18
Interpretierte Sprache. Syntax ist C-ähnlich. Einziger Dateityp ist String. Als Container stehen assoziative Arrays zur Verfügung. Variablen müssen nicht deklariert werden. Regular Expression Engine ist eingebaut. Die Schleife zum zeilenweisen Lesen des Input wird nicht explizit programmiert, sondern implizit vom Interpreter ausgeführt.
awk ist eine interpretierte Sprache mit C-ähnlicher Syntax. Variablen müssen nicht deklariert werden. An einfachen Datentypen gibt es Strings und Fließkommazahlen. Zwischen diesen beiden Datentypen wird je nach Bedarf automatisch konvertiert. Als Container stehen assoziative Arrays zur Verfügung. Eine Regular Expression Engine ist essentieller Bestandteil jeden awk-Interpreters.

Besonderheit: Der awk-Interpreter führt üblicherweise den awk-Script in einer Schleife aus, die zeilenweise über die (als Argumente angegebenen) Dateien bzw. die Standardeingabe läuft. Dieser Mechanismus ermöglicht einzeilige Wegwerfprogramme, kann aber bei Bedarf leicht ausgeschaltet werden.

Dieser awk-Einzeiler läßt maximal zwei aufeinanderfolgende Leerzeilen durch:

[[Code]
awk '/^[ \t]*$/ {if(++n<2) print; next}; {n= 0; print}'
]

Skriptsprache. Benannt nach den Autoren Alfred Aho (A), Peter Weinberger (W) und BrianKernighan (K). Vorwiegend für die Bearbeitung von Textdateien gedacht.

"The one true awk":

Die GNU-Variante gawk: awk ist eine interpretierte Sprache mit C-ähnlicher Syntax. Variablen müssen nicht deklariert werden. An einfachen Datentypen gibt es Strings und Fließkommazahlen. Zwischen diesen beiden Datentypen wird je nach Bedarf automatisch konvertiert. Als Container stehen assoziative Arrays zur Verfügung. Eine Regular Expression Engine ist essentieller Bestandteil jeden awk-Interpreters.

Besonderheit: Der awk-Interpreter führt üblicherweise den awk-Script in einer Schleife aus, die zeilenweise über die (als Argumente angegebenen) Dateien bzw. die Standardeingabe läuft. Dieser Mechanismus ermöglicht einzeilige Wegwerfprogramme, kann aber bei Bedarf leicht ausgeschaltet werden.

Dieser awk-Einzeiler läßt maximal zwei aufeinanderfolgende Leerzeilen durch:

awk '/^[ \t]*$/ {if(++n<2) print; next}; {n= 0; print}'

awk ist vor allem auch im Bereich der Unix-Systemadministration gut einsetzbar (für das Auswählen und Auswerten von Spalten). Das folgende Beispiel zählt und summiert die Filegröße aller html-Files unterhalb des aktuellen Verzeichnisses und gibt nur das Ergebnis in einer Zeile aus:

find . -name "*.html" -ls | awk '{n+=1; sum+=$7}; END { print "Files=",n,"  Size=",sum}'

Für komplexe Aufgaben ist SprachePerl vermutlich die flexiblere (wenn auch nicht unbedingt performantere) Sprache.


KategorieProgrammierSprache KategorieSkriptSprachen
StartSeite | Neues | TestSeite | ForumSeite | Teilnehmer | Kategorien | Index | Hilfe | Einstellungen | Ändern
Text dieser Seite ändern (zuletzt geändert: 19. Dezember 2006 17:37 (diff))
Suchbegriff: gesucht wird
im Titel
im Text