Dentro de uma pasta há muitas subpastas e dentro das subpastas há muitos arquivos PDF. Parece com isso abaixo:
+- SubfolderA
| +- File1.pdf
| +- File2.pdf
|
+- SubfolderB
| +- File3.pdf
| +- File4.pdf
| +- file5.pdf
|
+- SubfolderC
+- File6.pdf
+- File7.pdf
Gostaria de descobrir o número de vezes que uma palavra específica, por exemplo, keywordx
ocorre nesses arquivos.
- De preferência ignorando a exibição dos arquivos que têm 0 ocorrências.
- E o ideal é mostrar a lista ordenada, com o arquivo com o número máximo de acessos exibido primeiro.
Usando
pdfgrep
GNUawk
e assumindo que os caminhos de arquivo não contêm caracteres de nova linha:Se você tiver
pdftotext
instalado (deve estar nos repositórios da maioria das distribuições Linux), você pode converter o arquivo PDF para texto, grep o padrão no arquivo de texto e então excluí-lo. Algo como isto (usando GNUgrep
para o-o
):Ou, para incluir a classificação e também um erro se a conversão para texto não funcionar:
Observe que a classificação depende de os nomes dos arquivos não conterem
:
.Mas, na verdade, basta usar
pdftotext
como sugerido por Prabhjot Singh, é mais simples e melhor.