Regex - sed для извлечения слова между шаблонами - PullRequest
1 голос
/ 26 марта 2020

Я пытаюсь извлечь слово hello из ENC(hello), используя sed.

Я пробовал следующее, но пока без радости:

 property="ENC(hello)" && echo "$property" | sed 's/(?<=^ENC\()(.*)(?=\))/\1/'

Можете ли вы посоветовать, что я делаю не так?

1 Ответ

2 голосов
/ 26 марта 2020
property="ENC(hello)" && echo "$property" | sed -e 's/ENC(\(.*\))/\1/'

проблема в том, что sed, похоже, не поддерживает "ленивое" совпадение, но всегда жадный, поэтому, если в одной строке у вас есть

ENC(hello) ENC(world) 

, такое регулярное выражение не поможет

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