Buscar texto en archivos PDF con pdfgrep

A la hora de buscar texto dentro de documentos PDF, pdfgrep es una completa herramienta en linea de comandos que nos permite realizar dicha función.

Presenta una manera de trabajar muy similar a la de grep, con la que mantiene muchas similitudes en su forma de ejecución.

La manera sencilla de empezar con el programa, es situarnos en el directorio –donde está nuestro objeto de búsqueda– con la terminal y ejecutar: pdfgrep seguido del termino a buscar y el archivo pdf en cuestión.

En este ejemplo buscamos la palabra “status” en un archivo llamado manual.pdf:

pdfgrep status manual.pdf

Podemos hacer la cosa algo más interesante, incluyendo un par de opciones haciéndolo “insensible” (-i) al tema de las mayúsculas y minúsculas, así como activando el paginador (-n) para que nos muestre en donde diablos está la palabra que buscamos:

pdfgrep -ni status manual.pdf

La herramienta es compatible con expresiones regulares,pudiendo utilizar todo tipo de comodines como el que nos permite buscar una cadena de texto en varios archivos PDF a la vez:

pdfgrep -ni status *.pdf

Quizás tan solo nos apetezca contar cuantas veces aparece un determinado termino:

pdfgrep -c status *.pdf

Además tenemos la opción de hacer una búsqueda recursiva, para ello hacemos uso del parámetro -r, en este caso con la opción include que delimita el tipo de archivos que van a ser sometidos a dicha búsqueda (por ahora todos los PDF):

pdfgrep -ni -r --include "*.pdf" status

Quizás tan solo nos interese examinar los PDF’s que empiecen por una determinada palabra (por ej. “Python”). Sería algo así:

pdfgrep -ni -r --include "Python*.pdf" status

O puede que todo lo contrario, para eso tenemos el parámetro exclude:

pdfgrep -ni -r --exclude "Python*.pdf" status

Tenéis más opciones, las cuales podéis consultar en el manual o bien en la ayuda del programa con:

pdfgrep --help

Instalación de pdfgrep en Linux

La aplicación se distribuye bajo licencia libre (GPL v2), estando disponible en los repositorios de varias distribuciones GNU/LINUX.

  • Los usuarios de Arch Linux o alguna de sus derivadas (Antergos, Manjaro, Apricity) nos lo encontramos en los repositorios oficiales:
sudo pacman -S pdfgrep
  • En openSUSE Leap y Tumbleweed se puede instalar desde 1 click install.
  • Debian, derivadas como Ubuntu e hijas (Linux Mint, Elementary OS) lo pueden instalar desde la terminal con:
sudo apt install pdfgrep
  • Y por último en Fedora:
su -c

dnf install pdfgrep

Tenéis mas información sobre pdfgrep en la web del proyecto.

12 thoughts on “Buscar texto en archivos PDF con pdfgrep”

  1. Marcelo says:

    ¡ Ap ! Impecable. Se agradecen los datos Estimado.

    1. tannhausser says:

      Bueno, impecable, impecable…son muchos comandos y aunque he ejecutado todos antes de hacer el post, tampoco descartemos que se haya colado algún gazapo :-).

      En todo caso muchas gracias a ti por comentar!

      1. Marcelo says:

        Esta (como tantas otras) entrada fue a parar al rigido, son material 911 (consulta emergencia {salvedad -> } infalible), ni siquiera conocia la existencia de un software con esta caracteristica. La optimizacion de tiempo a la hora de buscar respuestas a TP’s en los biblioratos de Andy Tanenbaum, estimo, puede llegar a ser notoria.

        Si bien la salida de pdfgrep – – help no es tan extensa, las indicaciones que das, son referencia para el uso de lo que pueda ofrecer – – help. Ud. Mi Estimado, hace rato que ta’ pa’ presidente.

        Como siempre, un placer visitar la casa.

  2. victorhck says:

    ¿Me permites un par de enlaces?
    https://victorhckinthefreeworld.com/2017/01/30/comando-grep-mas-alla-de-busquedas-en-archivos-de-texto/
    https://victorhckinthefreeworld.com/2017/01/24/comando-grep-hackeando-y-aprendiendo-a-usarlo/

    🙂 Haciendome publi de mi blog en el tuyo!! Qué manera más rastrera de ganarme unos cuantos lectores!! jejejeje

    Saludos compa!!

    1. tannhausser says:

      No puede ser…lectores huyendo del paraíso replicante.

      Querido Líder estar muy decepcionado, construir muro que pagará Victorhck in the Free World.

      Muy buenos tutoriales por cierto.

      Un abrazo colega!

  3. Marcelo says:

    Viajan dos agradecimentos. Uno para Jose y otro para Victor. Muy gentil de parte Vuestra.

    1. tannhausser says:

      De nada Marcelo! Gracias a ti por pasarte y comentar.

    1. tannhausser says:

      De nada @Julio.

      Un saludo!

  4. Emiliano says:

    Excelente, este lo guardo en la caja de herramientas 😉 Muchas gracias!!

    1. tannhausser says:

      Entre Linux y *BSD esa caja ya debe estar a tope 🙂

      Un saludo y gracias a ti por pasarte!

  5. Jaskonio (@JonatAntoni0) says:

    Directo a mi bloque de alias (:

Deja un comentario