Найти: те из них, в которых упоминаются определённые ключевые слова.
Я привык
grepать по текстовым файлам в поисках нужного слова или сочетания слов. Вот только grep шаблон файл.pdf ничего не находит. «Не беда,» — решил я и написал обвязку для grep, которая конвертирует PDF в простой текст с помощью pdftotext и ищёт уже в нём, а имя файла показывает исходное.Получился у меня вот такой скрипт pdfgrep. Запускать можно, например, так:
$ pdfgrep --color=always -i '(navier[- ]){0,1}stokes' *.pdfКонечно, стоило мне собраться написать об этом в блог и поискать в интернете — как оказалось, что я не первый, кто такой скрипт написал. Вот практически идентичные скрипты: pdfgrep-1 и pdfgrep-2… В общем, идея понятна.



Сергей, идея с grep интересная, но эту же проблему лично я решал с помощью SEARCH++
ОтветитьУдалитьПолучается что-то вроде персональной поисковой системы: сначала делаем из PDF текстовики, индексируем их index++, а потом ищем search++.
Что-то вроде этого.
За ссылку на заметку про поиск с помощью SWISH++ спасибо. Именно про него я никогда не слышал, но попытки использовать Beagle или Tracker (других локальных поисковиков) мне не понравились:
ОтветитьУдалить1) индексатор или должен работать постоянно (и тормозить систему хуже антивируса), или же часть файлов не будет проиндексирована
2) мне удобнее подождать пока по файлам пройдётся grep, в момент, когда мне это нужно, чем постоянно терпеть тормоза на ноутбуке, от работы индексатора
3) локальные поисковики всё равно не понимают все нужные мне типы файлов, а писать к ним плагины лень
Да, кстати, вроде бы и Tracker, и Recoll, и Strigi умеют напрямую индексировать PDF (не нужно готовить текстовые файлы вручную).