find /path -name '*.pdf' -exec sh -c 'pdftotext "{}" - | grep --with-filename --label="{}" --color "your pattern"' \;
Команда «find» используется для поиска файлов или каталогов в указанном пути «/path». Опция «-name» задает шаблон имени файла «*.pdf», чтобы найти только файлы с расширением PDF.
Опция «-exec» позволяет выполнять команды над найденными файлами. В этой команде выполняется два действия: сначала «pdftotext» конвертирует каждый найденный PDF-файл в текстовый формат с помощью утилиты pdftotext, после чего результат передается в следующую часть команды.
«grep» применяется для поиска заданного шаблона в тексте, полученном из pdf-файла, и выводит строки, содержащие совпадения. Аргументы команды —with-filename и —label выводят имя файла совпадения и помечают строки с совпадениями цветом. Аргумент «—color» задает цвет для совпадений.
Эта команда полезна при поиске конкретного текстового шаблона в OCR-обработанных pdf-файлах. Альтернативой может быть использование инструментов для полнотекстового поиска, таких как «grep» или «ack», которые могут выполнять поиск по содержимому файлов с помощью регулярных выражений или шаблонов.