Com o GNU awk
5.3.1, quero atribuir um valor padrão a uma variável se ela não tiver recebido um na linha de comando. O valor pode ser qualquer coisa, incluindo 0. Pensei que poderia usar, SYMTAB
mas como SYMTAB
é construído durante a análise e antes da execução, não funciona:
$ awk -v v=1 'BEGIN { if(!("v" in SYMTAB)) v = 42; print "v = " v }' /dev/null
v = 1
$ awk 'BEGIN { if(!("v" in SYMTAB)) v = 42; print "v = " v }' /dev/null
v =
Existe outra maneira?