Сценарий sed расширенный регулярное выражение - PullRequest
2 голосов
/ 14 февраля 2012

Мне нужно написать несколько sed файлов сценариев.Я не могу найти способ включить расширенное регулярное выражение из скрипта.Это возможно?Я не могу использовать флаги опций, потому что скрипты должны работать во внешней среде, которая не находится под моим контролем.

Ответы [ 2 ]

3 голосов
/ 14 февраля 2012

Вы можете попробовать указать флаг в сценарии shebang, скажем:

#!/bin/sed -rf
# script goes here

А затем попросите администратора запустить скрипт как есть (chmod a+x сначала, затем ./script.sed), чтобы строка shebang использовалась для поиска правильного интерпретатора.

Возможно, вам придется заменить /bin/sed на правильный путь для вашей среды. К сожалению, вы, вероятно, не сможете использовать /usr/bin/env sed -r для этого (дополнительный -r является проблемой).

1 голос
/ 14 февраля 2012

Я думаю, что ответ на ваш вопрос «нет», , но , если это GNU sed, то вам, вероятно, не нужно расширенные регулярные выражения, потому что Реализация базовых регулярных выражений в GNU sed на самом деле поддерживает функции ERE, которых нет у истинных BRE POSIX. По общему признанию, результат невероятно, мучительно обратный слеш & mdash; ERE s/(a|b+|cd?)/e/g становится BRE's s/\(a\|b\+\|cd\?\)/e/g & mdash; но это работает.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...