Samstag, 24. November 2012
Da haben also die SBB einen Wettbewerb online, welcher die Eingabe von Ticketnummern erfordert. Und gleichzeitig habe ich Quittungen von über SBB Mobile georderte Tickets für Geschäftsreisen auf meinem Computer abgelegt.
Was macht man da? Richtig, man filtert die PDFs nach den geforderten Ticket-Nummern, und zwar so:
pdftotext
Ich gehe davon aus, dass jeder Terminal.app-Hacker macports installiert hat
Man benötigt zuerst einmal das in xpdf enthaltene Tool pdftotext:
# port install xpdf-tools
Shell-Magic
Nachdem das Tool installiert ist, navigiert man in den Ordner, welcher die PDFs enthält und gibt folgenden Befehl ein:
$ for i in *.pdf; do pdftotext "$i"; done;
Die in PDFs enthaltenen Textzeichen werden extrahiert und automatisch in eine Textdatei mit Endung .txt gespeichert, welche denselben Basename trägt wie die PDF-Datei.
Nun kann ich problemlos greppen:
$ cat *.txt | grep "OT"
… und schon erhalte ich eine schöne Liste in der Form
OT 0000 0000 0000
OT 0000 0000 0000
OT 0000 0000 0000
OT 0000 0000 0000
OT 0000 0000 0000
OT 0000 0000 0000
OT 0000 0000 0000
OT 0000 0000 0000
OT 0000 0000 0000
OT 0000 0000 0000
OT 0000 0000 0000