Está lendo de stdin, ou seja, o seu teclado.
Tente ver o que quero dizer
awk '{ print "Here is your line:", $0 }'
No meu entender, geralmente awk
segue um arquivo ou uma saída.
Em seguida, ele executará seu código em todas as linhas desse arquivo ou saída.
No meu caso, meu comando awk '{print "Hi, Judy"}'
não seguiu nenhum arquivo ou saída.
No meu entender, não deve imprimir nada nem gerar um erro.
Mas por que, na realidade, ele pula uma linha de comando interativa na qual se eu continuar pressionando Enter , ele irá me mostrar algo infinitamente como:
Hi, Judy
Hi, Judy
Hi, Judy
Por que esse comando funciona assim?
# conteúdo abaixo desta linha divisória deve ser ignorado
Eu tentei outro comando:
awk ' BEGIN { print "Hi." } { print "Buddy." } { print "Bye." } '
Espero que ele imprima Hi. Buddy. Bye.
Infinitamente.
Mas eu tenho:
Hi.
Buddy
Bye.
Buddy
Bye.
Buddy
Bye.
O que me confunde novamente. Por que o END clause
funciona infinitamente, enquanto BEGIN clause
só funciona uma vez aqui?
Tags awk