As variáveis são referenciadas pelo nome como em var, não $varem awk. $nrefere-se ao campo nth : para o primeiro campo, para o segundo ... ou o registro inteiro para == 0 ( é o registro completo).$1$2n$0
Esses não precisam ser números literais. Você pode usar $(1+1)ou $variable. Se variablecontiver 1, $variableserá o primeiro campo. Um normalmente usado é $NFo último campo ( NFé a variável especial que contém o número de campos).
Se, como no seu exemplo, a variável não contiver um número, esse número não será entendido como 0.
Portanto var="content"; print $var, é o mesmo que var=0; print $var, e, portanto , é o mesmo print $0que imprime o registro inteiro.
O que você quer aqui é:
echo "foo bar" | gawk -v var="content" '{print var}'
$de $ var