Las utilidades de línea de comandos como grep y ack-grep son excelentes para buscar en archivos de texto plano patrones que coincidan con una expresión regular específica Ver imagen . Pero, ¿ha intentado alguna vez utilizar estas utilidades para buscar patrones en un archivo PDF? ¡Bueno, no lo hagas! No obtendrá ningún resultado ya que estas herramientas no pueden leer archivos PDF; sólo leen archivos de texto plano.
pdfgrep , como su nombre indica, es una pequeña utilidad de línea de comandos que permite buscar texto en un archivo PDF sin necesidad de abrir el archivo. Es increíblemente rápido – más rápido que la búsqueda proporcionada por prácticamente todos los visores de documentos PDF. Una gran diferencia entre grep y pdfgrep es que pdfgrep opera en páginas, mientras que grep opera en líneas. También imprime una sola línea varias veces si se encuentra más de una coincidencia en esa línea. Veamos cómo usar la herramienta exactamente.
Instalación
Para Ubuntu y otras distribuciones de Linux basadas en Ubuntu, es bastante simple:
sudo apt install pdfgrep
Para otras distribuciones, sólo tiene que proporcionar pdfgrep como entrada para el gestor de paquetes , y eso debería instalarlo. También puedes ver la página del proyecto GitLab , en caso de que quieras jugar con el código.
La ejecución de prueba
Ahora que tiene la herramienta instalada, vamos a hacer una prueba. El comando pdfgrep toma este formato:
pdfgrep[OPTION...] PATTERN[FILE...]
>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>»>>>>>>>>>>>>>>>i
OPTION es una lista de atributos adicionales para dar al comando como -i o –ignore-case, que ignoran la distinción entre el patrón regular especificado y el que coincide una vez del archivo.
PATTERN es sólo una expresión regular extendida.
FILE es sólo el nombre del archivo, si está en el mismo directorio de trabajo, o la ruta al archivo.
He ejecutado el comando en la documentación oficial de Python 3.6. La siguiente imagen es el resultado.

Las luces rojas indican todos los lugares en los que se encontró la palabra «cola». Pasar -i como opción al comando incluye coincidencias de la palabra «Queue». Recuerde, el caso no importa cuando -i se pasa como una opción.
Extras
pdfgrep tiene un buen número de opciones interesantes para usar. Sin embargo, sólo cubriré unos pocos aquí.
.
La lista completa de opciones soportadas puede encontrarse en las páginas de manual o en el pdfgrep online documenation . No olvide que pdfgrep puede buscar múltiples archivos al mismo tiempo, en caso de que esté trabajando con algunos archivos masivos. El color predeterminado del resalte de la coincidencia se puede cambiar modificando la variable de entorno GREP_COLORS.
Conclusión
La próxima vez que piense en abrir un archivo PDF para buscar cualquier cosa, piense en usar pdfgrep. La herramienta es muy útil y le ahorrará tiempo.