Поиск по содержимому файлов форматов MS Office и PDF с помощью действия контекстного меню файлового менеджера.По умолчанию такого поиска в Linux нет.
Поиск основан на работе скрипта под названием "ищи" такого содержания:
#!/bin/bash
echo -e "\n
Поиск слова во всех файлах этой папки, введите запрос \n
Результаты поиска по введенному далее запросу \n"
echo -e "\033[37;1;41m "СЛОВО:" \033[0m"
read response
find . -iname "*.doc" |
while read i; do catdoc "$i" |
ag "$response" && echo -e "\033[37;1;41m "в файле $i" \033[0m" ; done
find . -iname "*.docx" |
while read i; do docx2txt < "$i" |
ag "$response" && echo -e "\033[37;1;41m "в файле $i" \033[0m" ; done
find . -iname "*.xls" |
while read i; do xls2csv "$i" |
ag "$response" && echo -e "\033[37;1;41m "в файле $i" \033[0m" ; done
find . -iname "*.xlsx" |
while read i; do xlsx2csv "$i" |
ag "$response" && echo -e "\033[37;1;41m "в файле $i" \033[0m" ; done
find . -iname "*.pdf" |
while read i; do pdftotext -q -layout "$i" - | less |
ag "$response" && echo -e "\033[37;1;41m "в файле $i" \033[0m" ; done
echo -e "\033[1m\033[38;5;11m"Время поиска $SECONDS секунд"\033[0m"
Скрипт сохраняем, даём права на исполнение и бросаем куда-нибуть в $PATH, т.е. в директорию, где хранятся исполняемые е файлы, например в ~/.local/bin/
Потом создаём ПКМ Thunar под названием "ИЩИ: поиск в офисных файлах по содержанию" на команду:
xfce4-terminal -H -e "bash -c ищи"
Условие появления:
каталоги, иконка любая.
Теперь, при нажатии ПКМ "ИЩИ" на каталог откроектся терминал, надо будет вбить слово и через секунду высыпятся результаты поиска - название файла и одна строчка в этом файле, в которой содержится искомый текст. Снизу скрипт выдаст жёлтыми цифрами время поиска - значит поиск закончен.
Поиск основан на утилите Silver-searcher.
Ставится она так, в терминале:
sudo add-apt-repository ppa:pgolm/the-silver-searcher
sudo apt-get update
sudo apt-get install the-silver-searcher
Остальные утилиты, котрые читают файлы офисных расширений ставятся так:
sudo apt install catdoc docx2txt xls2csv xlsx2csv pdftotext
Все утилиты есть в стандартных репозиториях. Если нет - надо подключить репозиторий разработчика.
Так выглядит выдача поиска:
На YouTube есть видео, как это работает.