Eu gostaria de pesquisar em um arquivo pdf por todas as páginas, cada uma contendo várias palavras dadas em nenhuma ordem especÃfica. Por exemplo, quero encontrar todas as páginas que contêm "hello" e "world" em nenhuma ordem especÃfica.
Não tenho certeza se pdfgrep
pode fazê-lo.
Estou tentando fazer algo semelhante a como podemos pesquisar várias palavras em um livro mostrado no Google Livros.
Obrigado.
Sim, você pode fazer isso com asserções lookahead de largura zero, se você usar a
-P
opção (que permite usar oPCRE
mecanismo e regexps semelhantes a perl).O acima só funcionará se as duas palavras estiverem na mesma linha; se as palavras puderem ocorrer em linhas separadas da mesma página, o seguinte funcionará:
O
s
sinalizador em(?s:
significa que.
também corresponderá a uma nova linha. Observe que isso imprimirá apenas a primeira linha da página; você pode ajustar isso com a-A
opção:Um script wrapper bruto que imprimirá as linhas correspondentes a qualquer um dos padrões das páginas correspondentes a todos os padrões em qualquer ordem:
usage: pdfgrepa [options] files ... -- patterns ...
$ pdfgrepa ~/Str-Cmp.pdf -i -- obtains process preparation 37- the strings after preparation are identical, and the end result (as the user would normally see it) could be 37- collation process applying the same rules. This kind of indeterminacy is undesirable. 37-one obtains after this preparation the following strings:
https://pdfgrep.org/doc.html