Cómo buscar archivos PDF a través de Terminal con la herramienta pdfgrep

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.

Cómo buscar archivos PDF a través de Terminal con pdfgrep - Linux

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.

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.

Cómo buscar archivos PDF a través de Terminal con pdfgrep - Linux

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í.

-c o -count: Esto cancela la salida normal de coincidencias. En lugar de mostrar una salida larga de coincidencias, solo muestra un valor que representa la cantidad de veces que se encuentra la palabra en el archivo.
-p o -page-count: esta opción imprime los números de página de las coincidencias y el número de veces que aparece el patrón en la página
-m o -max-count [número]: especifica el número máximo de coincidencias. Esto significa que cuando se alcanza un número de coincidencias, el comando deja de leer el archivo.

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.

fuente
Ir al botón superior