Я использую некоторые функции sub(), gsub()
для замены содержимого, хранящегося в переменной.Использование переменной в регулярном выражении
Скажем, например:
$ awk 'BEGIN {str="hello bee"; patt="llo"; gsub(patt,"XX",str); print str}'
heXX bee
Это заменяет в строке, содержащейся в str
все вхождения llo
с XX
. Ницца.
Теперь скажите, что я хочу использовать более сложное регулярное выражение, которое использует как переменную, так и шаблон. Например, "he"
+ переменная patt
. Как мне это сделать?
Если я пытаюсь с gsub(/he/patt, ...)
он не работает:
awk 'BEGIN {str="hello bee"; patt="llo"; gsub(/he/patt,"XX",str); print str}'
Возвращает
hello bee
Вместо
XX bee
Добавлен тег [gawk], так как это тот, который я использую. Любое решение с использованием другого дистрибутива также приветствуется:) – fedorqui