Как искать файлы PDF через Терминал с помощью инструмента pdfgrep

Инструменты командной строки, такие как grep и ack-grep, хорошо подходят для поиска в текстовых файлах шаблонов, соответствующих регулярному выражению и разделителю. Но пробовали ли вы когда-нибудь использовать эти утилиты для поиска шаблонов в файле PDF? Ладно, нет! Вы не получите никакого результата, потому что эти инструменты не могут Искать в PDF-файлах. Они читают только простые текстовые файлы.

Как искать файлы PDF через Терминал с помощью pdfgrep - Linux

pdfgrep, как следует из названия, представляет собой небольшой инструмент командной строки, который позволяет искать текст в файле PDF, не открывая файл. Процесс поиска безумно быстр - быстрее, чем процесс поиска, предлагаемый почти всеми программами для чтения PDF. Большая разница между grep и pdfgrep заключается в том, что pdfgrep запускается на страницах, а grep - на строках. Он также печатает одну строку несколько раз, если в этой строке встречается более одного предложения. Давайте посмотрим, как именно использовать инструмент.

Установка

Для Ubuntu и других дистрибутивов Linux на основе Ubuntu это очень просто:

sudo apt install pdfgrep

Для других дистрибутивов, просто предоставив pdfgrep В качестве входных данных для диспетчера пакетов, который необходимо получить и установить. Вы также можете проверить страницу проекта по адресу GitLab, если вы хотите поэкспериментировать со своим кодом.

Запустить тест

Теперь, когда инструмент установлен, приступим к тесту. Команда pdfgrep принимает вид:

pdfgrep [OPTION...] PATTERN [FILE...]
  • OPTION - это список дополнительных атрибутов, передаваемых команде, таких как -i или -ignore-case, который игнорирует как случай различия между заданным обычным стилем, так и один раз, когда он соответствует в файле.
  • ШАБЛОН - это просто расширенное регулярное выражение.
  • ФАЙЛ - это просто имя файла, если он находится в том же рабочем каталоге, или путь к файлу.

Я выполнил команду из официальной документации по Python 3.6. Следующее изображение является результатом.

Как искать файлы PDF через Терминал с помощью pdfgrep - Linux

Красной линией отмечены все места, где появилось слово «очередь». Передайте -i в качестве параметра команды для слов, содержащих слово «Очередь». Помните, что регистр не имеет значения, если -i передается как опция.

Дополнительно

pdfgrep имеет большое количество интересных возможностей для использования. Однако я остановлюсь только на некоторых из них.

-c или -count: отменяет нормальный вывод совпадений. Вместо того, чтобы отображать длинный вывод совпадений, он просто отображает значение, представляющее количество раз, когда слово встречается в файле.
-p или -page-count: этот параметр печатает номера страниц совпадений и количество раз, когда шаблон встречается на странице.
-m или -max-count [число]: указывает максимальное количество совпадений. Это означает, что при достижении определенного количества совпадений команда прекращает чтение файла.

Полный список поддерживаемых опций можно найти на страницах руководства или на pdfgrep онлайн-руководство. Не забывайте, что pdfgrep может искать несколько файлов одновременно, если вы работаете с некоторыми незакрепленными файлами. Цвет выделения по умолчанию можно изменить, изменив переменную среды GREP_COLORS.

Заключение

В следующий раз, когда вы подумаете об открытии PDF-файла для поиска чего-либо. Вы можете рассмотреть возможность использования pdfgrep. Инструмент пригодится и сэкономит ваше время.

Перейти к верхней кнопке