تعتبر أدوات سطر الأوامر مثل grep و ack-grep مميزة في البحث عن ملفات نص عادي لأنماط تطابق تعبير عادي ومحدد. ولكن هل سبق لك أن حاولت استخدام هذه المرافق للبحث عن أنماط في ملف PDF؟ حسنا، لا! لن تحصل على أي نتيجة لأن هذه الأدوات لا يمكنها البحث في ملفات PDF. فهم يقرأون ملفات النصوص العادية فقط.
pdfgrep، كما يوحي اسمها، هي أداة سطر الأوامر الصغيرة التي تجعل من الممكن البحث عن النص في ملف PDF دون فتح الملف. فعملية البحث سريعة بجنون – أسرع من عملية البحث المقدمة من قبل جميع قارئي ملفات PDF تقريبا. وهناك تمييز كبير بين grep و pdfgrep هو أن pdfgrep يعمل على الصفحات، في حين أن grep يعمل على السطور. كما أنه يطبع سطر واحد عدة مرات إذا تم العثور على أكثر من جملة على هذا الخط. دعونا ننظر في كيفية استخدام الأداة بالضبط.
روابط سريعة
التركيب
لأوبونتو وغيرها من توزيعات لينكس على أساس أوبونتو، فإنها بسيطة جدا:
sudo apt install pdfgrep
لتوزيعات الأخرى، من خلال مجرد توفير pdfgrep كمدخل لمدير الحزمة، والتي يجب الحصول عليها وتثبيتها. يمكنك أيضا التحقق من صفحة المشروع في GitLab، في حال كنت تريد أن تلعب حولها مع التعليمات البرمجية.
تشغيل الاختبار
الآن بعد تثبيت الأداة، دعنا نذهب لتشغيل الاختبار. يأخذ الأمر pdfgrep هذا الشكل:
pdfgrep [OPTION...] PATTERN [FILE...]
- OPTION عبارة عن قائمة من السمات الإضافية لإعطاء الأمر مثل -i أو -ignore-case، والتي تتجاهل كل من حالة التمييز بين النمط العادي المحدد ومرة أين تم مطابقتها في الملف.
- PATTERN هو مجرد التعبير العادي الموسع.
- FILE هو مجرد اسم الملف، إذا كان في نفس دليل العمل، أو المسار إلى الملف.
قمت بتشغيل الأمر على الوثائق الرسمية لـ Python 3.6. الصورة التالية هي النتيجة.
يشير الخط الأحمر إلى جميع الأماكن التي ظهرت فيه كلمة “queue”. تمرير -i كخيار للأمر للكلمات التي تشمل كلمة “Queue”. تذكر، لا يهم القضية عندما يتم تمرير -i كخيار.
إضافات
pdfgrep لديه عدد كبير من الخيارات المثيرة للاهتمام للاستخدام. ومع ذلك، سوف تغطي سوى عدد قليل هنا.
قائمة كاملة من الخيارات المعتمدة يمكن العثور عليها في صفحات الرجل أو في دليل pdfgrep على الانترنت. لا ننسى أن pdfgrep يمكنه البحث في ملفات متعددة في نفس الوقت، في حال كنت تعمل مع بعض الملفات السائبة. يمكن تغيير لون تمييز الألوان الافتراضي بتغيير متغير البيئة GREP_COLORS.
الخلاصة
في المرة القادمة التي تفكر فيها في فتح ملف PDF للبحث عن أي شيء. يمكنك التفكير في استخدام pdfgrep. الأداة تأتي في متناول اليدين، وسوف توفر لك الوقت.