Variabel dirujuk dengan nama seperti dalam var, bukan $vardalam awk. $nmerujuk ke bidang nth : untuk bidang pertama, untuk yang kedua ... atau seluruh catatan untuk == 0 ( adalah catatan penuh).$1$2n$0
Itu tidak harus angka harafiah. Anda bisa menggunakan $(1+1)atau $variable. Jika variableberisi 1, maka $variableakan menjadi bidang pertama. Yang umum digunakan adalah $NFuntuk bidang terakhir ( NFadalah variabel khusus yang berisi jumlah bidang).
Jika, seperti dalam contoh Anda, variabel tidak berisi angka, yang non-angka dipahami sebagai 0.
Jadi var="content"; print $var, sama dengan var=0; print $var, dan dengan demikian sama dengan print $0, yaitu mencetak seluruh catatan.
Yang Anda inginkan di sini adalah:
echo "foo bar" | gawk -v var="content" '{print var}'
$dari $ var