कमांड लाइन यूटिलिटीज जैसे कि grep और ack-grep एक निर्दिष्ट नियमित अभिव्यक्ति से मेल खाने वाले पैटर्न के लिए सादे-पाठ फ़ाइलों को खोजने के लिए बहुत बढ़िया हैं। लेकिन क्या आपने कभी पीडीएफ फाइल में पैटर्न खोजने के लिए इन यूटिलिटीज का उपयोग करने की कोशिश की है? अच्छा, मत करो! आपको कोई परिणाम नहीं मिलेगा क्योंकि ये टूल पीडीएफ फाइलें नहीं पढ़ सकते हैं; वे केवल सादा पाठ फ़ाइलों को पढ़ते हैं।

पीडीएफजीआरपी, जैसा कि नाम से पता चलता है, एक छोटी कमांड लाइन उपयोगिता है जो फ़ाइल खोलने के बिना पीडीएफ फ़ाइल में टेक्स्ट खोजना संभव बनाता है। यह लगभग सभी पीडीएफ दस्तावेज दर्शकों द्वारा प्रदान की गई खोज से तेज़ तेज़ है। Grep और pdfgrep के बीच एक बड़ा अंतर यह है कि pdfgrep पृष्ठों पर चल रहा है, जबकि grep लाइनों पर चल रहा है। यदि उस रेखा पर एक से अधिक मैच मिलते हैं तो यह एक पंक्ति को कई बार प्रिंट करता है। चलो देखते हैं कि टूल का उपयोग कैसे करें।

स्थापना

उबंटू और उबंटू के आधार पर अन्य लिनक्स डिस्ट्रोज़ के लिए, यह बहुत आसान है:

 sudo apt pdfgrep स्थापित करें 

अन्य distros के लिए, बस पैकेज प्रबंधक के लिए इनपुट के रूप में pdfgrep प्रदान करते हैं, और इसे स्थापित करना चाहिए। यदि आप कोड के साथ खेलना चाहते हैं तो आप प्रोजेक्ट के गिटलैब पेज को भी देख सकते हैं।

टेस्ट रन

अब जब आपके पास टूल इंस्टॉल है, तो चलिए टेस्ट रन के लिए जाएं। pdfgrep कमांड इस प्रारूप को लेता है:

 pdfgrep [विकल्प ...] पैटर्न [फ़ाइल ...] 

विकल्प -i या --ignore-case जैसे कमांड देने के लिए अतिरिक्त विशेषताओं की एक सूची है, जो दोनों नियमित पैटर्न के बीच केस अंतर को अनदेखा करते हैं और एक बार फ़ाइल से मेल खाते हैं।

पैटरन सिर्फ एक विस्तारित नियमित अभिव्यक्ति है।

FILE केवल फ़ाइल का नाम है, अगर यह एक ही कार्यशील निर्देशिका में है, या फ़ाइल का पथ है।

मैंने पायथन 3.6 आधिकारिक दस्तावेज पर आदेश चलाया। निम्नलिखित छवि परिणाम है।

लाल हाइलाइट्स "कतार" शब्द का सामना करने वाले सभी स्थानों को इंगित करता है। आदेश के विकल्प के रूप में पास करने के लिए "क्यूई" शब्द के मैचों को शामिल किया गया है, याद रखें, जब कोई विकल्प के रूप में पारित किया जाता है तो मामला कोई फर्क नहीं पड़ता।

अतिरिक्त

pdfgrep का उपयोग करने के लिए कई दिलचस्प विकल्प हैं। हालांकि, मैं यहां केवल कुछ ही कवर करूंगा।

  • -c या - --count : यह मैचों के सामान्य आउटपुट को दबा देता है। मैचों के लंबे आउटपुट को प्रदर्शित करने के बजाय, यह केवल एक मान प्रदर्शित करता है जो फ़ाइल में शब्द का सामना करने की संख्या का प्रतिनिधित्व करता है
  • -p या - --page-count : यह विकल्प पृष्ठ के पृष्ठ संख्याओं और पृष्ठ पर पैटर्न की घटनाओं की संख्या को प्रिंट करता है
  • -m या --max-count [संख्या]: अधिकतम मैचों की संख्या निर्दिष्ट करता है। इसका मतलब है कि जब मैचों की संख्या तक पहुंच जाती है, तो आदेश फ़ाइल को पढ़ना बंद कर देता है।

समर्थित विकल्पों की पूरी सूची मैन पेजों में या पीडीएफजीआरपी ऑनलाइन डॉक्यूमेनेशन में पाई जा सकती है। अगर आप कुछ थोक फाइलों के साथ काम कर रहे हैं, तो पीडीएफजीआरपी एक ही समय में कई फाइलों को खोज सकता है। GREP_COLORS पर्यावरण परिवर्तक को बदलकर डिफ़ॉल्ट मिलान हाइलाइट रंग बदला जा सकता है।

निष्कर्ष

अगली बार जब आप कुछ भी खोजने के लिए पीडीएफ फ़ाइल खोलने के बारे में सोचते हैं। पीडीएफजीआरपी का उपयोग करने के बारे में सोचो। उपकरण काम में आता है और आपको समय बचाएगा।