Uso avançado do pdfgrep


0

Preciso de ajuda para resolver uma situação. Parece bastante simples, mas acho que não.

#!/bin/bash

pdfgrep -Hn $1 *.pdf

exit 0

Se eu executar esse código em qualquer diretório que contenha arquivos PDF ocr'd, ele exibirá "arquivo correspondente + número da página nesse arquivo + linha correspondente para o padrão $ 1".

Agora para o problema. Digamos que eu queira fazer a mesma coisa com 2 padrões "$ 1" e "$ 2". Não será tão fácil quanto

pdfgrep -Hn $1 | pdfgrep -Hn $2 *.pdf

Como isso pode ser feito, para que o resultado seja "arquivo + número da página correspondente nesse arquivo que contém os dois padrões $ 1 e $ 2"?

Qualquer ajuda apreciada :-)

Obrigado!

/Paulo

Respostas:


0

Encontrei uma solução de trabalho bastante simples:

#!/bin/bash

pdfgrep -Hn $1 *.pdf | cut -f1,2 -d':' > /tmp/sok1.tmp
pdfgrep -Hn $2 *.pdf | cut -f1,2 -d':' > /tmp/sok2.tmp
comm -1 -2 --nocheck-order /tmp/sok1.tmp /tmp/sok2.tmp

exit 0

/Paulo


Correção: "comm -2 --nocheck-order /tmp/sok1.tmp /tmp/sok2.tmp"
Paul Bergström

Correção2: Por algum motivo, esse "comm" não é consistente. Então mudei a última linha para: "grep -f /tmp/sok1.tmp /tmp/sok2.tmp" e funcionou !!!
Paul Bergström
Ao utilizar nosso site, você reconhece que leu e compreendeu nossa Política de Cookies e nossa Política de Privacidade.
Licensed under cc by-sa 3.0 with attribution required.