Como posso obter os números de página apenas de um padrão em um arquivo pdf, independentemente de o padrão ser multilinha?

2 respostas

4

É um pouco hacky, mas como você já usa um RE compatível com perl, pode usar o modificador \K "keep left" para corresponder a tudo na sua expressão (e qualquer outra coisa até o fim da próxima linha), mas excluí-la da saída:

pdfgrep -Pn '(?s)image\s+?not\s+?available.*?$\K'  main_text.pdf

A saída ainda incluirá o separador : , no entanto.

    
por 23.07.2018 / 01:43
1

Adicione $0~":" como reconhecedor do awk. Ou seja, você pega a linha:

 .... | awk -F":" '$0~":"{print $1}'

Com isso, a impressão será apenas quando a linha de entrada tiver um ":" e outras linhas forem descartadas.

    
por 23.07.2018 / 01:38