шаблон pdfgrep для включения / исключения переноса строки - PullRequest
1 голос
/ 09 июля 2020

pdfgrep работает как grep, за исключением того, что действует на страницах, а не на строках. Как создать регулярное выражение с символом новой строки?

Я хочу найти a, за которым следует любое количество символов , кроме разрывов строки , за которым следует b, но pdfgrep 'a[^\n]*b' не работает, тогда как pdfgrep 'a.*b' возвращает результаты, охватывающие несколько строк. (Я проверил вывод с помощью xxd, чтобы убедиться, что эти символы новой строки действительно \x0A.)

1 Ответ

0 голосов
/ 09 июля 2020

По умолчанию pdfgrep использует POSIX-совместимую разновидность регулярных выражений, где . соответствует любому символу, включая символы разрыва строки.

К счастью, pdfgrep также поддерживает PCRE регулярного выражения с с помощью флага -P. В варианте регулярного выражения PCRE . соответствует любому символу, кроме символов разрыва строки.

Таким образом, вы можете использовать

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