Как искать строки внутри файлов в папке?

Существует ли какая-либо утилита для выполнения поиска строки внутри файлов ASCII, чтобы избежать поиска в командной строке?

Как выполнить поиск в командной строке, например, для строки "test" внутри всех файлов в каталоге /var/x/?

Я предполагаю, что ваш первый вопрос касается графического интерфейса, альтернативного grep команда. Я не могу вам в этом помочь, я всегда нахожу командную строку очень эффективной.

Что касается командной строки, попробуйте

grep "test" /var/x/*

Если вы хотите выполнить рекурсивный поиск (т.Е. не только в /var/x/, но также и в их подкаталогах), делают

grep -R "test" /var/x/

Чтобы избежать grepping файлов, которые grep считает двоичными, используйте -I вариант:

grep -I "test" /var/x/

Если grep считает, что файл является двоичным (на основе первых нескольких байтов файла), он предположит, что он не совпадает, вместо того, чтобы просматривать весь файл.

Вы можете использовать searchmonkey. Инструмент доступен в репозиториях, поэтому вы можете просто

sudo apt-get install searchmonkey

С другой стороны, поиск в командной строке с помощью grep действительно предназначен для этого...

Вот скриншот из searchmonkey

enter image description here

Вы можете использовать средство регулярного выражения это отличный инструмент поиска / замены в графическом интерфейсе для регулярных выражений.

вы можете скачать по:

sudo apt-get install regexxer

enter image description here

Попробуйте вспомнить, лучший графический интерфейс, который я когда-либо использовал. Чтобы установить recoll во всех поддерживаемых в настоящее время версиях Ubuntu, откройте терминал и введите:

sudo apt install recoll

Сначала требуется некоторое время для индексации файлов (вы можете определить путь к черному списку, расширения или mime).

Вы можете использовать grep команда с терминала:

grep -r string *

Эта команда найдет все вхождения "string" во всех файлах в текущем каталоге (или подкаталогах).

Для скрытых файлов вы можете использовать:

grep -r string ..

К сожалению, grep очень плохо справляется с поиском внутри файлов Word (.doc), но вы можете передавать выходные данные catdoc в grep. Я не программист, но этот маленький скрипт хорошо работает для меня:

#!/bin/bashexport GREP_OPTIONS='--color=auto'echo -e "\nWelcome to scandocs. This will search .doc (NOT .docx) files in this directory for a given string. \nType in the text string you want to find... \n"read responsefind . -name "*.doc" | while read i; do catdoc "$i" | grep -iH --label="$i" "$response"; done

Все улучшения и предложения приветствуются!

Я только что выпустил простой инструмент для выполнения этой работы. Задуманный в основном для разработчика программного обеспечения, он обладает (уникальным?) характеристика открытия нескольких файлов в одном окне. Он представляет результаты в браузере с помощью редактора Ace (рекомендуется!) или текстовой области html. Это инструмент на основе java, поэтому он работает как в Windows, так и в Linux.

зацени это!

https://sourceforge.net/projects/queacetu.gastona.p/

по https://askubuntu.com/a/1141367/47073

Вы можете использовать mate-search-tool, что является тем же самым , что и gnome-search-tool это было удалено. У меня были проблемы с searchmonkey, он пропускал некоторые результаты и работал медленно, не рекомендую.

Устанавливать mate-search-tool:

sudo apt install mate-utilsmate-search-tool

Вы можете использовать Возвышенный текст Find in Files вариант из Find меню для поиска строк внутри файлов из папки.

Как установить Sublime Text 3

sudo add-apt-repository ppa:webupd8team/sublime-text-3sudo apt-get updatesudo apt-get install sublime-text-installer

Вы также можете следить этот вопрос о других возможных способах установки Возвышенный на Ubuntu.

Для поиска во всех файлах строки из папки в Возвышенный текст вы можете следовать этот вопрос для более четких ответов.

Вы действительно имеете в виду _ без_ использования командной строки? Потому что лучшим инструментом для этого остается grep…

На CLI [Серебряный искатель](Geoff Greer's site: The Silver Searcher /), вероятно, делает лучшую работу.