Есть ли способ использовать регулярные выражения в sed без необходимости ставить обратную косую черту везде? - PullRequest
0 голосов
/ 23 ноября 2010

Чтобы использовать синтаксис регулярных выражений в sed, вы должны ввести \ перед (, { и т. Д., Чтобы использовать их в качестве специальных символов.Например:

~ > echo 123 | sed 's/[0-9]{2}/x/'
123

против

~ > echo 123 | sed 's/[0-9]\{2\}/x/'
x3

Это обратное тому, к чему я привык.Есть ли способ заставить символы по умолчанию иметь специальные значения?

Ответы [ 2 ]

1 голос
/ 23 ноября 2010

Попробуйте:

echo 123 | sed -r 's/[0-9]{2}/x/'
0 голосов
/ 23 ноября 2010

Если у вашего sed нет -r:

echo 123 | perl -pe 's/[0-9]{2}/x/'
...