Я использую grep для извлечения частей из файла, но у меня проблемы с его работой. Из строки,PCRE - Первое совпадение
something0(something1
Я хочу извлечь что-то0. Это отлично работает на некоторых входных сигналов,
echo 'a b(c d' | grep -Po '(?m)^.+?(?=\(.+)' #outputs 'a b'
Но не так хорошо, на другой вход,
echo 'a b()c d(e f' | grep -Po '(?m)^.+?(?=\(.+)' #outputs 'a b' and '() c d'
Как бы я сделать Grep возвращают только первый матч или улучшить мое регулярное выражение? Трубопроводные отбирает выход к,
head -n 1
не является альтернативой, так как Grep будет читать весь файл с этих строк, и если я не misstaking это будет выводить только первый матч в этом файле. Это ОКЕЙ предположить, что something0 не содержит каких-либо '('.
Спасибо.
-P
Спасибо. Я понимаю, что вопрос был тривиальным, но регулярное выражение для меня довольно новое. –
@MLP Np m8. Рад помочь. – FailedDev