Используйте "weak quotes"
, а не 'strong quotes'
, чтобы расширение подоболочки происходило внутри скрипта awk
, но это в вашем примере не будет особенно полезной реализацией. Это также выглядит фантастически безобразно:
$ awk "END { print \"$(echo hello)\"} " < /dev/null
hello
Действительно, изменение awk по умолчанию на gawk решило проблему.
gawk -v col="$COUNTER" 'BEGIN{ FS = "|" } $col ~ /doi\/tm-[a-z0-9]{8}/ { print $col } 1' OFS=, tmp.csv
Это работает нормально.