Variabel dirujuk dengan nama seperti dalam var
, bukan $var
dalam awk
. $n
merujuk ke bidang n
th : untuk bidang pertama, untuk yang kedua ... atau seluruh catatan untuk == 0 ( adalah catatan penuh).$1
$2
n
$0
Itu tidak harus angka harafiah. Anda bisa menggunakan $(1+1)
atau $variable
. Jika variable
berisi 1
, maka $variable
akan menjadi bidang pertama. Yang umum digunakan adalah $NF
untuk bidang terakhir ( NF
adalah 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