Las herramientas de línea de comandos como grep y ack-grep son buenas para buscar patrones en archivos de texto sin formato que coincidan con una expresión regular y un delimitador. Pero, ¿alguna vez ha intentado utilizar estas utilidades para buscar patrones en un archivo PDF? ¡Okey, no! No obtendrá ningún resultado porque estas herramientas no pueden Buscar archivos PDF. Solo leen archivos de texto sin formato.
pdfgrep, como su nombre indica, es una pequeña herramienta de línea de comandos que permite buscar texto en un archivo PDF sin abrir el archivo. El proceso de búsqueda es increíblemente rápido, más rápido que el proceso de búsqueda que ofrecen casi todos los lectores de PDF. Una gran diferencia entre grep y pdfgrep es que pdfgrep se ejecuta en páginas, mientras que grep se ejecuta en líneas. También imprime una línea varias veces si se encuentra más de una oración en esa línea. Veamos exactamente cómo usar la herramienta.
Enlaces rápidos
Instalación
Para Ubuntu y otras distribuciones de Linux basadas en Ubuntu, es muy simple:
sudo apt install pdfgrep
Para otras distribuciones, simplemente proporcionando pdfgrep Como entrada al administrador de paquetes, que debe obtenerse e instalarse. También puede consultar la página del proyecto en GitLab, en caso de que quieras jugar con tu código.
Ejecutar la prueba
Ahora que la herramienta está instalada, vamos a ejecutar la prueba. El comando pdfgrep toma la forma:
pdfgrep [OPTION...] PATTERN [FILE...]
- OPTION es una lista de atributos adicionales para dar a un comando como -i o -ignore-case, que ignora tanto el caso de una distinción entre el estilo regular dado como una vez que coincida en el archivo.
- PATRÓN es solo una expresión regular extendida.
- ARCHIVO es solo el nombre del archivo, si está en el mismo directorio de trabajo, o la ruta al archivo.
Ejecuté el comando en la documentación oficial de Python 3.6. La siguiente imagen es el resultado.
La línea roja indica todos los lugares donde apareció la palabra "cola". Pase -i como opción de comando para las palabras que incluyen la palabra "Cola". Recuerde, el caso no importa cuando -i se pasa como una opción.
Extras
pdfgrep tiene una gran cantidad de opciones interesantes para usar. Sin embargo, cubriré solo algunos aquí.
Puede encontrar una lista completa de las opciones admitidas en las páginas man o en pdfgrep manual en línea. No olvide que pdfgrep puede buscar varios archivos al mismo tiempo, en caso de que esté trabajando con algunos archivos sueltos. El color de resaltado predeterminado se puede cambiar cambiando la variable de entorno GREP_COLORS.
Conclusión
La próxima vez que pienses en abrir un PDF para buscar cualquier cosa. Puede considerar usar pdfgrep. La herramienta es útil y le ahorrará tiempo.