Se hace referencia a las variables por nombre como en var
, no $var
en awk
. $n
se refiere al campo n
th : para el primer campo, para el segundo ... o el registro completo para == 0 ( es el registro completo).$1
$2
n
$0
Esos no tienen que ser números literales. Puedes usar $(1+1)
o $variable
. Si variable
contiene 1
, entonces $variable
será el primer campo. Una de uso común es $NF
para el último campo ( NF
es la variable especial que contiene el número de campos).
Si, como en su ejemplo, la variable no contiene un número, ese no número se entiende como 0.
Entonces var="content"; print $var
, es lo mismo y var=0; print $var
, por lo tanto, lo mismo print $0
que imprimir todo el registro.
Lo que quieres aquí es:
echo "foo bar" | gawk -v var="content" '{print var}'
$
de $ var