כלי שורת פקודה כגון grep ו- ack-grep נהדרים לחיפוש קובצי טקסט פשוטים עבור דפוסי ההתאמה לביטוי רגיל. אבל האם ניסית פעם באמצעות כלי עזר אלה כדי לחפש דפוסים בקובץ PDF? ובכן, לא! לא תקבל שום תוצאה כמו כלים אלה לא יכולים לקרוא קבצי PDF; הם רק לקרוא קבצי טקסט רגיל.

pdfgrep, כפי שהשם מרמז, הוא כלי שורת פקודה קטן שמאפשר לחפש טקסט בקובץ PDF מבלי לפתוח את הקובץ. זה מהיר בטירוף - מהר יותר מאשר החיפוש המסופקים על ידי כמעט כל הצופים מסמך PDF. ההבחנה הגדולה בין grep ו- pdfgrep היא ש- pdfgrep פועל בדפים, בעוד ש- grep פועל בקווים. זה גם מדפיס שורה אחת מספר פעמים אם יותר מאשר התאמה אחת נמצאה על הקו הזה. בואו נסתכל איך בדיוק להשתמש בכלי.

הַתקָנָה

עבור אובונטו ופריסות לינוקס אחרות המבוססות על אובונטו, זה די פשוט:

 apt להתקין 

עבור distros אחרים, פשוט לספק pdfgrep כקלט עבור מנהל החבילה, וזה צריך לקבל את זה מותקן. אתה יכול גם לבדוק את הפרויקט של GitLab הדף, אם אתה רוצה לשחק עם הקוד.

הרצת מבחן

עכשיו שיש לך את הכלי מותקן, בוא נלך לרוץ לרוץ. הפקודה pdfgrep לוקחת את הפורמט הזה:

 pdfgrep [OPTION ...] PATTERN [קובץ ...] 

OPTION היא רשימה של תכונות נוספות כדי לתת את הפקודה כגון - -i או --ignore-case, אשר שניהם להתעלם --ignore-case המקרה בין הדפוס הרגיל שצוין לבין התאמת אותו פעם מהקובץ.

PATTERN הוא רק ביטוי רגיל המורחבת.

FILE הוא רק שם הקובץ, אם הוא נמצא באותה ספריית עבודה או בנתיב לקובץ.

הפעלתי את הפקודה על תיעוד רשמי Python 3.6. התמונה הבאה היא התוצאה.

נקודות השיא האדומות מציינות את כל המקומות שבהם נתקלה המילה "תור". מעבר לאפשרות של הפקודה כולל התאמות של המילה "תור". זכור, המקרה אינו משנה מתי הוא מועבר כאפשרות.

תוספות

pdfgrep יש לא מעט אפשרויות מעניינות לשימוש. עם זאת, אני יכסה רק כמה כאן.

  • -c או --count : זה מדכא את הפלט הרגיל של התאמות. במקום להציג את הפלט הארוך של ההתאמות, הוא מציג רק ערך המייצג את מספר הפעמים שבהן נתקלה המילה בקובץ
  • -p או - --page-count : אפשרות זו מדפיסה את מספרי הדפים של ההתאמות ואת מספר המופעים של הדפוס בדף
  • -m או --max-count [number]: מציין את מספר ההתאמות המקסימלי. כלומר, כאשר מספר ההתאמות מגיע, הפקודה מפסיקה לקרוא את הקובץ.

הרשימה המלאה של אפשרויות נתמכות ניתן למצוא בדפי האיש או במסמך המקוון pdfgrep. אל תשכח pdfgrep יכול לחפש קבצים מרובים בו זמנית, במקרה שאתה עובד עם כמה קבצים בתפזורת. ניתן לשנות את צבע ההתאמה המוגדר כברירת מחדל על-ידי שינוי משתנה הסביבה GREP_COLORS.

סיכום

בפעם הבאה שאתה חושב על פתיחת קובץ PDF לחפש משהו. לחשוב על השימוש ב - pdfgrep - -. הכלי שימושי ו יחסוך לך זמן.