Imprima n linhas antes e m linhas após a correspondência com o pdfgrep

1

Como posso imprimir n linhas antes e m linhas após a correspondência com o pdfgrep.

A opção -C não parece ir além de uma linha. Talvez seja possível canalizar a saída do pdfgrep para outro programa ou há uma alternativa ao pdfgrep que pode fazer isso.

    
por student 07.09.2017 / 15:35

1 resposta

1

-A , -B , -C funcionam corretamente e curtem com o GNU grep com o pdfgrep 2.0 para mim.

Você sempre pode usar (assumindo o GNU grep ):

pdftotext file.pdf - | grep -A/B/C...

(que no meu caso também parece ser muito mais rápido, embora ambos usem poppler ).

Ou para trabalhar com mais de um arquivo, faça como zgrep :

for file in ./*.pdf; do
  pdftotext "$file" - | grep --label="$file" -H ...
done

(adicionar a opção -layout a pdftotext parece dar um resultado mais próximo ao de pdfgrep . Você também pode querer espremer sequências de caracteres de espaçamento em um espaço para ajudar nas pesquisas de sequências de várias palavras canalizando a saída de pdftotext a tr -s '[[:space:]]' '[ *]' )

    
por 07.09.2017 / 17:47

Tags