Быстрый поиск в текстовых файлах в Windows

2646
user893730

Существует ли программа для Windows, которая отлично справилась бы с поиском в файлах?

У меня есть папка, в которой мне постоянно приходится искать определенный текст. Было бы неплохо иметь программу, которая кэширует файлы и быстро просматривает их, а также постоянно обновляет свой кэш.

Я трачу много времени на поиск по netbeans, notepad ++ и т. Д., Проблема в том, что это папка в сети, поэтому она каждый раз открывает каждый файл и выполняет поиск.

5
msgstr "каждый раз он открывает каждый файл и ищет". - Это будет верно для любого инструмента поиска, который не кэширует копию файлов в любом случае. Инструмент ** должен ** открыть файл, чтобы найти его. EBGreen 12 лет назад 0
Я предполагаю, что пользователь имеет в виду, не открывая файл каждый раз, когда поиск вызван. Иначе я бы порекомендовал `grep`;) tuergeist 12 лет назад 0
Да, я предпочитаю что-то, что хранит кеш, но кроме этого, grep до сих пор имел лучшую производительность user893730 12 лет назад 0

4 ответа на вопрос

3
tuergeist

Вы можете использовать Windows Search, он доступен для Win XP до Win 7. Более полный список поисковых систем для настольных компьютеров можно найти на сайте википедии о поисковых системах для настольных компьютеров.

Edit: хороший (вероятно, лучший) инструмент для поиска материала в текстовых файлах (без кэшей) - это grep . (См. Мой комментарий к вопросу)

1
sinned

Я всегда использую findstr, что примерно сопоставимо с grep, но Windows родной.

Пример:

findstr /s /i /m "MyClass" *.cpp 

Это будет искать рекурсивно ( /s) в текущей папке. Он будет смотреть на каждый файл, имя которого соответствует *.cppстроке MyClass.

/i игнорирует регистр

/m печатать только имена файлов соответствующих файлов

Вы можете открыть окна командной строки в любом месте окна, щелкнув правой кнопкой мыши и удерживая клавишу Shift в любом месте свободного места в любой папке. (Не кликайте правой кнопкой мыши по файлам)

findstr будет заметно быстрее при втором поиске в том же каталоге, так как окна кэшируют открытые файлы.

0
user65947

Используйте glimpse / glimpseindex, поскольку здесь речь идет о текстовых файлах ASCII. Он создает очень маленький индекс, так как он не хранит строку вхождения, а только тот факт, что он происходит - поэтому будет выполнен grep, но только в файлах, фактически содержащих слово, что является быстрым. Используйте glimpseindex
для индексации вашего жесткого диска и используйте glimpse для поиска. вывод похож на grep. Легко адаптируется к Emacs.

Это ** не ** ответ на оригинальный вопрос. Ваше решение для Unix ** не ** Windows DavidPostill 10 лет назад 1
0
Logern

Используйте findкоманду. Например, чтобы найти yourstringво всех *.txtфайлах:

C:\YourFolder\>find "yourstring" *.txt 

Если вы в сети, просто подключите диск, Z:\например, и запустите findс этого диска.