awk: Unterschied zwischen den Versionen

Aus Mikiwiki
Wechseln zu: Navigation, Suche
Zeile 622: Zeile 622:
 
  awk 'NF > 0' file > noemptylines
 
  awk 'NF > 0' file > noemptylines
  
Berechnung der Dateigrösse in Bytes.
+
Berechnung der Dateigrösse in Byte.
  
  $ <b>ls -l /etc/passwd | awk '{ x += $5 } END { print "Bytes: " x }'</b>
+
  $ <b>ls -l /etc/passwd | awk '{ x += $5 } END { print "Byte: " x }'</b>
  Bytes: 1232
+
  Byte: 1232
  
 
Ein kleines C-Programm, das auf der Konsole den ASCII-Code von 33-127 ausdruckt (7 Bit). Zuerst wird die Textdatei "ascii.c" geschrieben, danach mit gcc kompiliert. Die ausführbare Datei heisst dann "asc".
 
Ein kleines C-Programm, das auf der Konsole den ASCII-Code von 33-127 ausdruckt (7 Bit). Zuerst wird die Textdatei "ascii.c" geschrieben, danach mit gcc kompiliert. Die ausführbare Datei heisst dann "asc".

Version vom 27. Februar 2010, 00:29 Uhr

awk-ALTESEITE

Der Shell-Befehl awk ist gleichzeitig eine Programmiersprache (Skriptsprache) zur Bearbeitung und Auswertung einfacher Textdaten, beispielsweise CSV-Dateien. Die Bezeichnung "awk" ist aus den Anfangsbuchstaben der Nachnamen ihrer drei Autoren Alfred V. Aho, Peter J. Weinberger und Brian W. Kernighan zusammengesetzt.

awk arbeitet fast ausschließlich mit dem Datentyp Zeichenkette (engl. string). Daneben sind assoziative Arrays (also mit Zeichenketten indizierte Arrays, auch Hashs genannt) und reguläre Ausdrücke grundlegende Bestandteile der Sprache. Zu den Fähigkeiten des Programms gehören:

  • Suchen und Ersetzen von Textmustern
  • Zugriff auf einzelne Felder
  • Bildung von Summen
  • Erkennung regulärer Ausdrücke
  • Vornahme von "BEGIN"- und "END"-Verarbeitungen
  • Zugriff auf die awk-Programmiersprache (beschrieben im Dokument "POSIX 1002.3 Command language and utilities standard")

Eine Version von awk ist heute in jedem Unix-System zu finden und ist auch für fast alle anderen Betriebssysteme verfügbar. Unter Linux wird die GNU Implementierung gawk benutzt, die ausser allen im POSIX-Standard vorgesehenen Features auch die Erweiterungen aus SVR4 unterstützt. awk ist z. B. bei Ubuntu 7.10 auf gawk gelinkt.

$ ls -al $(which awk)
lrwxrwxrwx 1 root root 21 2007-08-02 13:32 /usr/bin/awk -> /etc/alternatives/awk
$ ls -al /etc/alternatives/awk
lrwxrwxrwx 1 root root 13 2007-10-31 15:17 /etc/alternatives/awk -> /usr/bin/gawk

Verwendung

Weblinks

Herausgeber Sprache Webseitentitel Anmerkungen
country DE.gif Arnold D. Robbins eng AWK language programming (A user's guide for GNU AWK, Edition 1.0, January 1996)wbm
country DE.gif M. Pertsch ger awk! Hat das vielleicht was mit "hässlich" zu tun?wbm
country DE.gif Wikipedia ger awkwbm Enzyklopädischer Artikel

Alte Weblinks

Herausgeber Sprache Webseitentitel Anmerkungen
country DE.gif Burkhard Wald ger wbm.gif AWK - Tool und Programmiersprache
http://www.uni-essen.de/~hrz030/unix/awk.html