Como já foi descrito, você pode usar essa construção para escrever (e continuar escrevendo) em um arquivo:
awk '{ print "hello, world" >>"file.log" }'
A outra parte do quebra-cabeça é como obter a variável do shell $log
em awk
sem citações complexas. O sinalizador -v
permite que você defina uma variável awk
, que neste caso definimos como o valor da variável $log
:
awk -v logfile="$log" { print "Appending to", logfile, "here" >>logfile }'
(Eu não usei log="$log"
porque awk
variants (pelo menos mawk
e gawk
) usam log
como um built-in e não permite que ele seja redefinido.)