Експлоатационните програми на командния ред като grep и ack-grep са чудесни за търсене на обикновени текстови файлове за модели, съответстващи на определен регулярен израз. Но някога сте се опитвали да използвате тези помощни програми, за да търсите модели в PDF файл? Е, не! Няма да получите резултат, тъй като тези инструменти не могат да четат PDF файлове; те четат само обикновени текстови файлове.

pdfgrep, както подсказва името, е малка помощна програма за команден ред, която дава възможност да се търси текст в PDF файл без да се отваря файлът. Това е невероятно бързо - по-бързо от търсенето, осигурено от почти всички зрители на PDF документи. Едно голямо разграничение между grep и pdfgrep е, че pdfgrep работи на страници, докато grep работи на линии. Той също така отпечатва няколко реда няколко пъти, ако на този ред е намерено повече от едно съвпадение. Нека да разгледаме как точно да използвате инструмента.

Инсталация

За Ubuntu и други Linux дистрибуции, базирани на Ubuntu, това е доста просто:

 sudo apt инсталирате pdfgrep 

За други дистрибуции, просто предоставете pdfgrep като вход за мениджъра на пакети и това трябва да се инсталира. Можете също така да проверите страницата на проекта GitLab, в случай че искате да играете с кода.

Пробното изпълнение

След като инсталирате инструмента, нека се опитаме да извършим тест. Командата pdfgrep приема този формат:

 pdfgrep [ОПЦИЯ ...] ПАТЕНТ [ФАЙЛ ...] 

OPTION е списък на допълнителните атрибути, които дават командата като -i или --ignore-case, които игнорират разграничаването на случаите между редовния шаблон, който е посочен, и неговата съвпадение от файла.

PATTERN е просто разширен регулярен израз.

ФАЙЛ е само името на файла, ако е в една и съща работна директория или пътя до файла.

Направих командата на официалната документация на Python 3.6. Следващото изображение е резултатът.

Червените акценти показват, че всички места, на които се е срещала думата "опашка". Преминаването - като опция към командата включваше съвпадения на думата "Queue". Не забравяйте, че случаят няма значение кога -i се предава като опция.

Екстри

pdfgrep има доста интересни опции за използване. Въпреки това, ще покрия само няколко от тях.

  • -c или --count : това подтиска нормалното изпълнение на мачовете. Вместо да показва дългия изход на съвпаденията, той показва само стойност, представляваща колко пъти думата е била открита във файла
  • -p или --page-count : тази опция отпечатва номерата на страниците на съвпаденията и броя на възникналите образци на страницата
  • -m или --max-count [number]: определя максималния брой съвпадения. Това означава, че когато се достигне броят на мачовете, командата спира четенето на файла.

Пълният списък с поддържаните опции може да бъде намерен в ръководството или в pdfgrep онлайн документацията. Не забравяйте, че pdfgrep може да търси няколко файла по едно и също време, в случай че работите с някои групови файлове. Цветът за маркиране по подразбиране на съвпадението може да бъде променен, като се промени променливата на средата GREP_COLORS.

заключение

Следващият път, когато мислите за отваряне на PDF файл, за да търсите нещо. мисля за използването на pdfgrep. Инструментът е удобен и ще ви спести време.