Ini pertanyaan yang bagus dan meskipun jawabannya menunjukkan bahwa $itu salah tempat, saya tidak yakin itu harus ditutup sebagai salah ketik. Saya telah melihat beberapa di antaranya baru-baru ini, jadi mungkin kita perlu yang kanonik
roaima
Jawaban:
45
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.
$
dari $ var$
itu salah tempat, saya tidak yakin itu harus ditutup sebagai salah ketik. Saya telah melihat beberapa di antaranya baru-baru ini, jadi mungkin kita perlu yang kanonikJawaban:
Variabel dirujuk dengan nama seperti dalam
var
, bukan$var
dalamawk
.$n
merujuk ke bidangn
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
. Jikavariable
berisi1
, 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 denganvar=0; print $var
, dan dengan demikian sama denganprint $0
, yaitu mencetak seluruh catatan.Yang Anda inginkan di sini adalah:
sumber