In bash steht $0
der Name des Skripts, aber in awk, wenn ich ein Skript namens myscript.awk mit folgendem Inhalt erstelle:
#!/usr/bin/awk -f
BEGIN{ print ARGV[0] }
und starte es, es wird nur "awk" ausgegeben. Außerdem wird ARGV [i] mit i> 0 nur für Skriptargumente in der Befehlszeile verwendet. Wie kann man also den Namen des Skripts drucken lassen, in diesem Fall "myscript.awk"?
mawk
Ubuntu standardmäßig ist? Auf meinem 15.04 VM, die Standardeinstellung awk
ist gawk
. Während mawk installiert ist, ist dies nicht die Standardeinstellung.
awk -f myscript.awk
. Dies hat jedoch nichts mit dem fraglichen Problem zu tun.
awk
Skript, weil es mit beginnt #!/usr/bin/awk -f
. Shell-Skripte beginnen mit #!/bin/sh
(oder ähnlichem).
awk -f file
.