Ваше регулярное выражение работает как с POSIX-совместимым awk
и с GNU awk
.
Принимая во внимание тот факт, что символы e
, i
и n
должны присутствовать от нуля до трех раз, но что нет никаких дальнейших ограничений, эту часть можно удалить из шаблона, так как mount
сопровождается чем-либо или ничем не соответствует в любом случае. Действие (print $0
), являющееся также значением по умолчанию, указывать не нужно.
Ваша команда может быть упрощена до:
awk '/mount/'
Если вы хотите, чтобы диапазон использовался, вам нужно указать что-то после него, вот пример:
$ cat input
foo
mountx
mounte
mountee
mounteee
$ /usr/xpg4/bin/awk '/mount[ein]{0,2}$/' input
mounte
mountee
Это в Solaris, где POSIX awk
находится в /usr/xpg4/bin
.
То же поведение на Mint 17.1 на основе Debian:
$ awk -V | head -1
GNU Awk 4.0.1
$ awk '/mount[ein]{1,2}$/' input
mounte
mountee
Тем не менее, похоже, что mawk
, который заявляет о соответствии POSIX, не поддерживает выражение интервала (скобка).
$ mawk -W version
mawk 1.3.3 Nov 1996, Copyright (C) Michael D. Brennan
$ mawk '/mount[ein]{1,2}$/' input
$
Это известная ошибка.