Argumentos dados no final da linha de comando para awk
são geralmente tomados como nomes de arquivos dos quais o script awk
irá ler. Para definir uma variável na linha de comando, use -v variable=value
, por exemplo,
awk -v num=10 -f script.awk
Isso permitiria que você usasse num
como uma variável em seu script. O valor inicial da variável será 10 no exemplo acima.
Você também pode ler variáveis de ambiente usando ENVIRON["variable"]
em seu script (para alguma variável de ambiente chamada variable
), ou veja os argumentos de linha de comando com ARGV[n]
onde n
é algum inteiro positivo.
Com $1
em awk
, você se referiria ao valor do primeiro campo no registro atual, mas desde que você o está usando em um bloco BEGIN
, nenhum dado ainda foi lido de nenhum arquivo.
O número em seu código está sendo interpretado como zero, já que é uma variável vazia usada em um contexto aritmético.