pdfgrep
的工作原理与grep
类似,只是它作用于页面而不是行。如何使用换行符创建正则表达式?
我想查找a
,后面跟任意数量的字符(换行符除外(,后面跟b
,但pdfgrep 'a[^n]*b'
不起作用,而pdfgrep 'a.*b'
返回的结果跨越多行。(我已经用xxd
检查了输出,以确认这些换行符确实是x0A
。(
默认情况下,pdfgrep
使用符合POSIX的regex风格,其中.
匹配任何字符,包括换行字符。
幸运的是,在-P
标志的帮助下,pdfgrep
还支持PCRE正则表达式风格。在PCRE正则表达式风格中,.
匹配除换行符之外的任何字符。
因此,您可以使用
pdfgrep -P 'a.*b'