Aslında POSIX awk(POSIX 2008'e bağlantı, önceki sürümlerde de inanıyorum). Seçenekler bölümünde -vaçıklanırken , diğer yöntem Operands bölümündedir.
-vSonunda atamalar arasında dosya adlarıyla geçiş arasında bir fark vardır :
Başvuru, atama bağımsız değişkeninin atama işleneniyle aynı biçimde olmasını sağlayacaktır. Belirtilen değişken ataması, (varsa) BEGIN kalıplarıyla ilişkili eylemler de dahil olmak üzere awk programının yürütülmesinden önce gerçekleşir . Bu seçeneğin birden çok örneği belirtilebilir.
- Dosya adlarıyla karıştırıldı:
[...] Bu tür her değişken atama , eğer varsa , aşağıdaki dosyanın işlenmesinden hemen önce gerçekleşecektir . Bu nedenle, ilk dosya bağımsız değişkeninden önceki bir atama BEGIN eylemlerinden sonra (varsa) yürütülürken, son dosya bağımsız değişkeninden sonraki bir atama END eylemlerinden önce (varsa) gerçekleşir. Dosya argümanı yoksa, standart girdi işlenmeden önce atamalar yürütülür.
Misal:
$ cat input
hello
hello
$ awk -v var=one 'BEGIN{print var} /hello/{print var} END{print var}' \
var=two input var=three input var=four
one
two
two
three
three
four