Существует ли какая-либо утилита для поиска строки в файлах ASCII, чтобы избежать поиска в командной строке?
Как выполнить поиск в командной строке, например, для строки «test» внутри всех файлов в каталоге /var/x/
?
Вы можете использовать команду grep
из терминала:
grep -r string *
Эта команда найдет все вхождения «string» во всех файлах в текущем каталоге (или подкаталогах). ).
Для скрытых файлов вы можете использовать:
grep -r string ..
Вы можете использовать searchmonkey. Инструмент доступен в репозиториях, поэтому вы можете просто
sudo apt-get install searchmonkey
С другой стороны, поиск в командной строке с помощью grep действительно предназначен для этого ...
Вот скриншот из searchmonkey
К сожалению, grep плохо выполняет поиск в файлах Word (.doc), но вы можете перенаправить вывод catdoc в grep. Я не программист, но этот маленький скрипт хорошо работает для меня:
#!/bin/bash
export GREP_OPTIONS='--color=auto'
echo -e "\n
Welcome to scandocs. This will search .doc (NOT .docx) files in this directory for a given string. \n
Type in the text string you want to find... \n"
read response
find . -name "*.doc" |
while read i; do catdoc "$i" |
grep -iH --label="$i" "$response"; done
Все улучшения и предложения приветствуются!
Попробуйте Recoll, лучший графический интерфейс, который я когда-либо использовал. Чтобы установить recoll во всех поддерживаемых в настоящее время версиях Ubuntu, откройте терминал и введите:
sudo apt install recoll
Для индексации файлов сначала потребуется некоторое время (вы можете указать путь к черному списку, расширения или mime).
Я предполагаю, что Ваш первый вопрос об альтернативе GUI grep
команда. Я не могу помочь Вам с этим, я всегда нахожу командную строку очень эффективной.
Что касается командной строки, попробовать
grep "test" /var/x/*
Если Вы хотите искать рекурсивно (т.е. не только в /var/x/
, но также и в подкаталогах этого), сделать
grep -R "test" /var/x/
Чтобы постараться не захватывать файлы, какой grep думает, чтобы быть двоичным, используйте -I
опция:
grep -I "test" /var/x/
Если grep будет думать, что файл является двоичным (на основе первых нескольких байтов файла), то он предположит, что он не соответствует вместо того, чтобы пройти целый файл.
Вы можете использовать regexxer , это отличный инструмент поиска / замены GUI для регулярных выражений.
Вы можете скачать по:
sudo apt-get install regexxer
Я только что выпустил простой инструмент для работы. Он предназначен в основном для разработчиков программного обеспечения и имеет (уникальную?) Характеристику открытия нескольких файлов в одном окне. Он представляет результаты в браузере, используя редактор Ace (рекомендуется!) Или html textarea. Это инструмент на основе Java, поэтому он работает как в Windows, так и в Linux.
Проверьте это!
Вы можете использовать Возвышенный текст Find in Files
выбор от Find
меню, чтобы искать последовательности в файлах от папки.
sudo add-apt-repository ppa:webupd8team/sublime-text-3
sudo apt-get update
sudo apt-get install sublime-text-installer
Вы можете также следовать этот вопрос для других возможных способов установить Возвышенный на Ubuntu .
, Чтобы искать во всех файлах последовательность от папки в Возвышенный текст , Вы можете следовать этот вопрос для более четких ответов.
на https://askubuntu.com/a/1141367/47073
можно использовать mate-search-tool
, который является тем же самым как gnome-search-tool
, который был удален. У меня были проблемы с searchmonkey, он пропускал некоторые результаты и был медленным, не рекомендовать.
Для установки mate-search-tool
:
sudo apt install mate-utils
mate-search-tool