mercoledì 1 agosto 2012

Te Lo Cerco

Scripta Manent II


Non so se vi è mai capitato di avere sul disco un paio di gigabytes di documenti in PDF riguardanti un argomento generico e dover cercare in quale di questi documenti, c'è esattamente l'informazione che state cercando.

Se non vi è mai capitato probabilmente state ricevendo questa trasmissione su un altro pianeta abitabile, fatto che la rende fuori luogo oltre che obsoleta o non lavorate nel campo dell'informatica.

Lascio a voi scegliere l'eventualità più remota.

Tralasciando quella simpatica canaglia, del cagnolino di XP che perde più tempo a scodinzolare che a cercare il documento testuale, se volete far le cose per bene e avete da qualche parte una Bash potete andare nella cartella dove avete i documenti e scrivere :

( for i in *.pdf; do zit=`pdftotext "$i" - | grep -i "parola"`; if [ ! -z "$zit" ]; then echo $i; fi ; done ) 2>/dev/null

Questa riga, elencherà tutti i documenti PDF dove è presente la parola, che avete scritto, poi li potete aprire e cercare espressamente.

Come funziona ? Beh, il 2>/dev/null e le parentesi tonde, servono solo a evitare di visualizzare gli eventuali errori, la riga tra parentesi invece esegue un ciclo tra tutti i documenti li converte al volo in formato testo con pdftotext filtrando l'output sul grep -i (ignore case),  verifica se il risultato è una stringa non vuota, se non lo è vuol dire che è presente il testo, quindi scrive il nome del file.

Poi, come ciliegina sulla torta, vi ricordo che il grep accetta le espressioni regolari e dicendo questo, ho detto tutto.
 

Nessun commento:

Posta un commento