En bash $0
contient le nom du script, mais en awk si je crée un script nommé myscript.awk avec le contenu suivant:
#!/usr/bin/awk -f
BEGIN{ print ARGV[0] }
et l'exécuter, il affichera seulement "awk". En outre, ARGV [i] avec i> 0 est utilisé uniquement pour les arguments de script en ligne de commande. Alors, comment faire en sorte qu'il affiche le nom du script, dans ce cas "myscript.awk"?
mawk
c'est par défaut sur Ubuntu? Sur ma VM 15.04, la valeur par défaut awk
est gawk
. Bien que mawk soit installé, ce n'est pas la valeur par défaut.
awk -f myscript.awk
. Cependant, cela n'est pas lié au problème en question.
awk
script car il commence par #!/usr/bin/awk -f
. Les scripts shell commencent par #!/bin/sh
(ou quelque chose de similaire).
awk -f file
.