Πως κάνουμε αναζήτηση λέξεων σε πολλά PDF αρχεία ταυτόχρονα

anazitisi-pdf-lekseis

Το pdfgrep είναι ένα πρόγραμμα τερματικού που μας επιτρέπει να ψάχνουμε μέσα σε ένα ή και περισσότερα pdf αρχεία ΧΩΡΙΣ να χρειαστεί να τα ανοίξουμε.

Command line προγράμματα όπως το grep και το ack-grep είναι εξαιρετικές επιλογές όταν θέλουμε να αναζητήσουμε ένα συγκεκριμένο μοτίβο μέσα σε plain-text αρχεία με τη βοήθεια των regular expressions. Όμως δοκιμάσαμε να ψάξουμε μέσα σε pdf αρχεία;

anazitisi-pdf-lekseis

Βασικά δεν μπορούμε γιατί αυτά τα εργαλεία κάνουν μόνο για plain-text αρχεία.

Το pdfgrep, είπαμε είναι ένα command line πρόγραμμα που μας επιτρέπει να ψάχνουμε μέσα σε pdf αρχεία ΧΩΡΙΣ να χρειαστεί να τα ανοίξουμε. Το συγκριτικό του πλεονέκτημα έναντι των αναζητήσεων που γίνονται μέσω των κλασσικών viewers, είναι ότι είναι ταχύτατο.

Μια ακόμη σημαντική διαφορά είναι ότι το pdfgrep λειτουργεί στις σελίδες, ενώ το grep λειτουργεί στις γραμμές. Δηλαδή τυπώνει τη γραμμή πολλές φορές αν υπάρξουν περισσότερες από 1 ταυτοποιήσεις σε αυτή.

Εγκατάσταση pdfgrep

Για ubuntu και συγγενείς διανομές, εγκαθιστούμε το pdfgrep δίνοντας στο τερματικό

sudo apt install pdfgrep

Φυσικά το πρόγραμμα είναι διαθέσιμο και στις άλλες διανομές, μέσω των διαχειριστών πακέτων που διαθέτουν.

Αν βέβαια επιθυμούμε να παίξουμε με τον κώδικα, αυτός είναι διαθέσιμος στη σελίδα του project στο GitLab.

Πώς κάνουμε αναζήτηση με το pdfgrep

H λειτουργία του pdfgrep είναι πολύ απλή και συνοψίζεται στο μοτίβο

pdfgrep [ΕΠΙΛΟΓΗ] ΜΟΤΙΒΟ [ΟΝΟΜΑ ΑΡΧΕΙΟΥ]

Όπου ΕΠΙΛΟΓΗ είναι μια λίστα επιπρόσθετων παραμέτρων με εντολές σαν -i και --ignore-case για την αγνόηση κεφαλαίων και μικρών γραμμάτων κατά την αναζήτηση σε σχέση με το μοτίβο που έχει δοθεί. Για παράδειγμα αν αναζητηθεί η λέξη «Σκύλος», μέσα στα αποτελέσματα θα συμπεριληφθούν όλα τα αποτελέσματα που ταιριάζουν το μοτίβο ανεξαρτήτως κεφαλαίων-μικρών.

ΜΟΤΙΒΟ είναι η λέξη που ψάχνουμε κλειδί ή κάποιο regular expression

ΟΝΟΜΑ ΑΡΧΕΙΟΥ είναι το όνομα του αρχείου που θέλουμε να κάνουμε αναζήτηση. Εδώ είναι που μπορούμε και με τη χρήση wildcards (π.χ. *, ?, []) να ψάξουμε σε περισσότερα του ενός αρχεία. Σκεφτείτε λίγο, αν είστε φοιτητής, δικηγόρος, λογιστής, ιατρός και γενικά κάποιος που εργάζεται καθημερινά με PDF αρχεία, πόσο χρήσιμο είναι το χαρακτηριστικό αυτό όταν δεν θυμάστε σε πιο αρχείο pdf, απο τα 100άδες που έχετε, ήταν τελικά μια πρόταση / λέξη που ψάχνετε.

Στην περίπτωση μας δοκιμάσαμε να κάνουμε αναζήτηση σε ένα αρχείο με ελληνικούς χαρακτήρες για να διαπιστώσουμε του λόγου το αληθές

pdfgrep-test-run
Αποτελέσματα αναζήτησης ελληνικών χαρακτήρων σε pdf

Όπως βλέπουμε αναζητήθηκε ο όρος Παράδειγμα αλλά λόγω του ότι χρησιμοποιήθηκε η παράμετρος -i επιστράφηκαν όλα τα δυνατά αποτελέσματα (κεφαλαία και μικρά).

Πρόσθετες επιλογές στο pdfgrep

Όπως είπαμε παραπάνω, το pdfgrep έχει πληθώρα επιλογών προκειμένου να μας δώσει όσο πιο ακριβή αποτελέσματα γίνεται. Θα αναφερθούμε σε μερικά από αυτά

  • -c ή –count: Περιορίζει τον τρόπο που παρουσιάζονται οι ταυτοποιήσεις. Αντί να επιστρέφει ολόκληρο το output, επιστρέφει το μοτίβο μαζί με τον αριθμό των φορών που συναντάται στο αρχείο.
  • -p ή –page-count: Εμφανίζει τις σελίδες καθώς και τον αριθμό των φορών που συναντάται σε αυτές το μοτίβο.
  • -m ή –max-count: Καθορίζει το μέγιστο αριθμό ταυτοποιήσεων του μοτίβου. Αυτό σημαίνει ότι μόλις συμπληρωθεί ο αριθμός αυτός, η αναζήτηση σταματά.

Η πλήρης λίστα των ρυθμίσεων μπορεί να βρεθεί στο online documentation.

Επίλογος

Την επόμενη φορά που θα σκεφτείτε να ψάξετε μέσα σε ένα pdf αρχείο, μην το ανοίξετε προκειμένου να κάνετε την αναζήτηση, προτιμήστε το pdfgrep. Θα σας φανεί εξαιρετικά χρήσιμο και θα σας εξοικονομήσει αρκετό χρόνο.

Εσείς πως ψάχνετε μέσα στα pdf αρχεία σας;;

Πηγη : maketecheasier.com

Advertisements

Σου άρεσε το άρθρο; Πες την άποψή σου... έστω και Ανώνυμα:

Εισάγετε τα παρακάτω στοιχεία ή επιλέξτε ένα εικονίδιο για να συνδεθείτε:

Λογότυπο WordPress.com

Σχολιάζετε χρησιμοποιώντας τον λογαριασμό WordPress.com. Αποσύνδεση /  Αλλαγή )

Φωτογραφία Google+

Σχολιάζετε χρησιμοποιώντας τον λογαριασμό Google+. Αποσύνδεση /  Αλλαγή )

Φωτογραφία Twitter

Σχολιάζετε χρησιμοποιώντας τον λογαριασμό Twitter. Αποσύνδεση /  Αλλαγή )

Φωτογραφία Facebook

Σχολιάζετε χρησιμοποιώντας τον λογαριασμό Facebook. Αποσύνδεση /  Αλλαγή )

Σύνδεση με %s

This site uses Akismet to reduce spam. Learn how your comment data is processed.