Pdf. Поиск подстроки

Поиск подстроки в pdf-файле.

Содержание

1 pdfgrep

  • pdfgrep пытается быть совместимым с GNU grep.

1.1 Установка

  • Gentoo
    emerge app-text/pdfgrep
    

1.2 Использование

  • Синтаксис pdfgrep:
    pdfgrep [OPTION] PATTERN FILE.pdf
    
  • Опции:
    • -c, --count: количество совпадений (сами совпадения не выводятся);
    • -p, --page-count: номера страниц, на которых найдены совпадения, и количество совпадений на странице;
    • -n, --page-number: показать номер страницы в pdf-файле;
    • -m NUM, --max-count NUM: задаёт максимальное количество совпадений;
    • -i, --ignore-case: поиск без учёта регистра;
    • -A NUM, --after-context NUM: вывести число строк, следующих после совпадающих строк;
    • -B NUM, --before-context NUM: вывести число строк перед совпадающими строками;
    • -C NUM, --context NUM: вывести число строк до и после совпадающих строк;
    • --cache: кэширование отображаемого текста для ускорения поиска;
    • --password PASSWORD: пароль для файла.

2 pdftotext

  • Можно преобразовать pdf в текст и искать уже в нём.

2.1 Установка

  • Gentoo:
    emerge app-text/poppler
    

2.2 Использование

  • Поиск в одном файле:

    pdftotext file.pdf - | grep 'pattern'
    
    • - необходим для вывода pdftotext на стандартный вывод, а не в файл.
  • Поиск в нескольких файлах:

    find /path -name '*.pdf' -exec sh -c 'pdftotext "{}" - | grep --with-filename --label="{}" --color "pattern"' \;
    
    • - необходим для вывода pdftotext на стандартный вывод, а не в файлы;
    • параметры --with-filename и --label поместят имя файла в вывод grep;
    • параметр --color указывает grep на вывод с использованием цветов на терминале.

3 Локальные поисковики


Дмитрий Сергеевич Кулябов
Дмитрий Сергеевич Кулябов
Профессор кафедры теории вероятностей и кибербезопасности

Мои научные интересы включают физику, администрирование Unix и сетей.