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í.
-c o –count: suprime la salida normal de los partidos. En lugar de mostrar la salida larga de las coincidencias, sólo muestra un valor que representa el número de veces que la palabra se encontró 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 ocurrencias del patrón en la página
-m o –max-count[number]: especifica el número máximo de coincidencias. Esto significa que cuando se alcanza el número de coincidencias, el comando deja de leer el archivo.
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.