Выражение Sed не допускает необязательную сгруппированную строку

Я пытаюсь использовать следующее регулярное выражение в сценарии sed , но оно не работает:

sed -n '/\(www\.\)\?teste/p'

Регулярное выражение выше, похоже, не работает Работа. sed , похоже, не применяет ? к сгруппированным www \. .

Это работает, если вы используете -E , который переключает sed на использование расширенного регулярного выражения, поэтому синтаксис выглядит следующим образом:

sed -En '/(www\.)?teste/p'

Это работает нормально, но я хочу запустить этот сценарий на машине, которая не поддерживает -E оператор. Я почти уверен, что это возможно, и делаю что-то очень глупое.

52
задан Jonathan Leffler 6 March 2014 в 02:38
поделиться