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