Изменить разделитель регулярных выражений в шаблонах awk

Можно ли заменить стандартный разделитель регулярных выражений (косая черта) на другие символы?

Я пытался сделать это с использованием синтаксиса sed, но это не сработало.

$ gawk '\|bash| { print } ' backup.sh
gawk: |bash| { print }
gawk: ^ syntax error

У регулярного выражения, которое я пробую, есть много косых черт. Избавление от них всех сделает это уродливым и нечитаемым. Я попытался изменить / на | но это не сработало.

ТИА

1 ответ

Решение

AWK не поддерживает это. Вместо этого используйте переменную.

gawk 'BEGIN {pattern = "/"} $0 ~ pattern {print}' backup.sh
Другие вопросы по тегам