сценарий оболочки для использования выражения lookbehind - PullRequest
0 голосов
/ 25 марта 2020

Я работаю над сценарием, который извлекает текст из файла после ключевого слова. Я пытаюсь использовать регулярное выражение, но мне пока не повезло. Я пробовал grep и sed, но я не верю, что выражения lookbehind поддерживаются в OS X. Из того, что я прочитал, мне нужно использовать perl, но я не могу понять синтаксис , Вот что у меня есть

result=$(grep "Client Name"  /Users/me/files/test.txt)

$result дает мне строку, содержащую соответствующую строку из документа

Теперь я хочу использовать регулярное выражение для выбора всего, что происходит после слово «имя клиента». Регулярное выражение, которое, кажется, работает: (?<=Client Name\s)(?s)(.*$)

Как я могу использовать perl для хранения только соответствующего значения regEx в переменной?

1 Ответ

1 голос
/ 25 марта 2020

Я думаю, вам здесь не нужны обходные пути. Вы можете использовать sed, чтобы заменить все до «Имя клиента», включая «Имя клиента» и любые конечные пробелы.

result=$(grep "Client Name" /Users/me/files/test.txt | sed -e 's/.*Client Name[[:space:]]\{1,\}//')
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...