Awk

awk ist ein Reportgenerator mit dem schnell Auswertungen erzeugt werden können.
Der Begriff awk ist kein Mnemonic der Funktion, sondern setzt sich aus den Anfangsbuchstaben
der Autoren Aho, Weinberger und Kernighan zusammen.

Der awk verwendet an vielen Stellen die Syntax der Programmiersprache C und hat auch fast deren Funktionsumfang. Ablaufkontrollstrukturen, Ausgabeanweisungen und Operatoren sind nahezu identisch.
Eine neue, erweiterte Form ( z.B. Funktionen ) steht unter nawk oder gawk zur Verfügung.
Auf vielen Systemen ist awk nur ein Link auf die entsprechende Datei.
Unter Linux Debian stretch werden mehrere Symbolic Links verwendet, um auf gawk zu verweisen. Mittels des Kommandos whereis können Sie ermitteln wo ihr awk liegt.

    
    detlef@i7-graf-st-dh:~$ whereis awk
    awk: /usr/bin/awk /usr/share/awk /usr/share/man/man1/awk.1.gz
    detlef@i7-graf-st-dh:~$ ll /usr/bin/awk
    lrwxrwxrwx 1 root root 21 Mai  6  2017 /usr/bin/awk -> /etc/alternatives/awk
    detlef@i7-graf-st-dh:~$ ll /etc/alternatives/awk
    lrwxrwxrwx 1 root root 13 Mai  9  2017 /etc/alternatives/awk -> /usr/bin/gawk
    detlef@i7-graf-st-dh:~$ ll /usr/bin/gawk
    -rwxr-xr-x 1 root root 662240 Jan 25  2017 /usr/bin/gawk
    detlef@i7-graf-st-dh:~$ 
    
    

Hier wird über die Verweiskette :
/usr/bin/awk -> /etc/alternatives/awk -> /usr/bin/gawk
auf gawk verwiesen.

Die verwendete awk Version können sie auch über den Parameter -V oder --version ermitteln.

awk --version
GNU Awk 4.2.1, API: 2.0 (GNU MPFR 4.0.2, GNU MP 6.1.2)
Copyright © 1989, 1991-2018 Free Software Foundation.

Dieses Programm ist Freie Software. Sie können es unter den Bedingungen
der von der Free Software Foundation veröffentlichten GNU 
General Public License weitergeben und/oder ändern.
Es gilt Version 2 dieser Lizenz oder (nach Ihrer Wahl) irgendeine
spätere Version.

Dieses Programm wird weitergegeben in der Hoffnung, dass es nützlich ist,
aber OHNE JEDE GEWÄHRLEISTUNG; nicht einmal mit der impliziten Gewähr-
leistung einer HANDELBARKEIT oder der EIGNUNG FÜR EINEN BESTIMMTEN ZWECK.
Sehen Sie bitte die GNU General Public License für weitere Details.
Sie sollten eine Kopie der GNU General Publice License zusammen mit
diesem Programm erhalten haben. Wenn nicht, lesen Sie bitte
http://www.gnu.org/licenses/.

Sind weitere AWK Versionen installiert?

$ dpkg -l | grep "awk"
ii  gawk     1:4.2.1+dfsg-1    amd64        GNU awk, a pattern scanning and processing language
ii  mawk     1.3.3-17+b3       amd64        a pattern scanning and text processing language

Eine kurze Hilfe liefert ihnen awk -h oder awk --help

 
$awk --help
Aufruf: awk [POSIX- oder GNU-Optionen] -f PROGRAMM [--] Datei ...
Aufruf: awk [POSIX- oder GNU-Optionen] -- 'PROGRAMM' Datei ...
POSIX-Optionen		lange GNU-Optionen: (standard)
	-f PROGRAMM		--file=PROGRAMM
	-F Feldtrenner		--field-separator=Feldtrenner
	-v var=Wert		--assign=var=Wert
POSIX-Optionen		GNU-Optionen (lang): (Erweiterungen)
	-b			--characters-as-bytes
	-c			--traditional
	-C			--copyright
	-d [Datei]		--dump-variables[=Datei]
	-D[Datei]		--debug[=Datei]
	-e 'Programmtext' --source=Programmtext
	-E Datei		--exec=Datei
	-g				--gen-pot
	-h				--help
	-i einzubindende_datei		--include=einzubindende_datei
	-l Bibliothek		--load=Bibliothek
	-L[fatal|invalid]	--lint[=fatal|invalid]
	-M			--bignum
	-N			--use-lc-numeric
	-n			--non-decimal-data
	-o[Datei]	--pretty-print[=Datei]
	-O			--optimize
	-p [Datei]	--profile[=Datei]
	-P			--posix
	-r			--re-interval
	-s			--no-optimize
	-S			--sandbox
	-t			--lint-old
	-V			--version
  
  

Wo finden Sie Hilfe, welche Man Kapitel sind verfügbar ?

 
$ apropos awk
awk (1)              - pattern scanning and text processing language
filefuncs (3am)      - provide some file related functionality to gawk
gawk (1)             - pattern scanning and processing language
mawk (1)             - pattern scanning and text processing language
nawk (1)             - pattern scanning and text processing language
readdir (3am)        - directory input parser for gawk
rwarray (3am)        - write and read gawk arrays to/from files
states (1)           - awk alike text processing tool
time (3am)           - time functions for gawk