Awk, resultado da impressão

1

Por que

awk '{print 3 + 3}'

não funciona, mas:

echo 3|awk '{print $1 + 3}'

faz?

Não foi possível a primeira instrução produzir apenas 6? Qual é a maneira mais fácil de imprimir o resultado de um cálculo?

    
por Quora Feans 08.03.2016 / 16:31

3 respostas

6

As declarações AWK consistem em um padrão e uma ação : citando o Manual do GNU awk

a rule is executed when its pattern matches the current input record

No primeiro caso, você não está fornecendo nenhum registro de entrada - portanto, você não realiza nenhuma ação. Nesse caso, você poderia usar o padrão especial BEGIN

awk 'BEGIN {print 3 + 3}'
    
por 08.03.2016 / 16:38
-1

Igualmente bem você poderia fazer

awk 'END {print 3 + 3}'
    
por 09.03.2016 / 04:12
-2

Com o bash echo $(( 3 + 3)) ou com bc

    
por 08.03.2016 / 16:34

Tags