In bash $0
contiene il nome dello script, ma in awk se creo uno script chiamato myscript.awk con il seguente contenuto:
#!/usr/bin/awk -f
BEGIN{ print ARGV[0] }
ed eseguirlo, stamperà solo "awk". Inoltre, ARGV [i] con i> 0 viene utilizzato solo per argomenti di script nella riga di comando. Quindi, come farlo stampare il nome dello script, in questo caso "myscript.awk"?
mawk
default su Ubuntu? Sulla mia 15.04 VM, l'impostazione predefinita awk
è gawk
. Mentre è installato mawk non è l'impostazione predefinita.
awk -f myscript.awk
. Tuttavia, questo non è correlato al problema in questione.
awk
script perché inizia con #!/usr/bin/awk -f
. Gli script della shell iniziano con #!/bin/sh
(o qualcosa di simile).
awk -f file
.