Я нашел несколько способов передать внешние переменные оболочки в awk
script, но я запутался в '
и "
.
Сначала я попробовал с оболочкой script:
$ v=123test
$ echo $v
123test
$ echo "$v"
123test
Затем попытался awk:
$ awk 'BEGIN{print "'$v'"}'
$ 123test
$ awk 'BEGIN{print '"$v"'}'
$ 123
Почему разница?
Наконец, я пробовал это:
$ awk 'BEGIN{print " '$v' "}'
$ 123test
$ awk 'BEGIN{print ' "$v" '}'
awk: cmd. line:1: BEGIN{print
awk: cmd. line:1: ^ unexpected newline or end of string
Я смущен этим.