Как включить интервальное регулярное выражение в mawk? - PullRequest
0 голосов
/ 27 июня 2018

Я столкнулся с проблемой при запуске mawk в Ubuntu 1604:

echo "123-456" | mawk '$0~/^[0-9]{3}/ {print $0}'  

Приведенная выше команда ничего не выводит, хотя обычный шаблон действительно соответствует.

Затем я попытался запустить egrep с тем же регулярным шаблоном:

echo "123-456" | egrep '^[0-9]{3}'  

Работает отлично!

Потом я посмотрел документ mawk, кажется, что основная причина в том, что «интервальные выражения традиционно не были доступны в awk». Поле "{3}" в обычном шаблоне вызывает проблему. Если я использую «[0-9] [0-9] [0-9]» вместо «[0-9] {3}»:, все будет работать нормально.
https://invisible -island.net / Мок / страница руководства / mawk.html https://www.math.utah.edu/docs/info/gawk_5.html

Я попробовал опцию --posix' and - re-interval 'для mawk, они не работают оба.
Возможно ли, что можно включить «Интервальные выражения» в mawk? Моя ОС - «Ubuntu 16.04.4», mawk - «1.3.3-17ubuntu2».

Спасибо.

...