Я должен изменить некоторые строки подключения в невероятно старом унаследованном приложении, и программисты, которые сделали это, подумали, что было бы хорошей идеей наложить все приложение на строки подключения повсюду.
Поиск в Visual Studio в "текущем проекте" невероятно медленный, и я не доверяю Windows Search.
Итак, какой лучший бесплатный инструмент поиска неиндексированного текста? Все, что нужно сделать, это вернуть список с файлами, которые содержат искомую строку внутри папки и ее подпапок.
Я использую Windows 2003 Server.
search
full-text-search
text-files
кицунэ
источник
источник
010 Editor
поиск файлов huuuge за 0 секундОтветы:
Оригинальный ответ
Windows Grep делает это действительно хорошо.
Изменить: Windows Grep больше не поддерживается и не предоставляется разработчиком. Альтернативная ссылка для скачивания здесь: Windows Grep - альтернативный
Текущий ответ
Visual Studio Code обладает отличными возможностями поиска и замены файлов. Это очень быстро, поддерживает регулярные выражения и предварительный просмотр перед заменой.
источник
Я фанат диалога Find-In-Files в Notepad ++ . Бонус : это бесплатно.
источник
.docm
, вроде бы.docx
,.xlsm
и.xlsx
на самом деле являются XML-документами.Существует также встроенная программа Windows,
findstr.exe
с помощью которой вы можете искать в файлах.источник
FINDSTR: Cannot open ???????????.txt
Мне нравится АстроГреп. Результаты показаны в списке. Щелчок по строке показывает всю строку в качестве предварительного просмотра, выделяющего попадание. Кажется, он довольно быстрый, скудный и бесплатный. Протестировано на Windows 7, 8, 10 и Windows Server 2008 R2. Позволяет регулярные выражения.
Ссылка: АстроГреп
источник
node_modules
илиbower_components
.self == happy
Поиск в Visual Studio по папкам - самый быстрый, который я нашел.
Я считаю, что он разумно ищет только текстовые (недвоичные) файлы, и последующий поиск в той же папке выполняется очень быстро, в отличие от других инструментов (вероятно, текстовые файлы помещаются в кэш диска Windows).
VS2010 на обычном жестком диске без SSD занимает 1 минуту для поиска в папке размером 20 ГБ с 26k-файлами, исходным кодом и двоичными файлами. Обыскиваются файлы 15k - остальные, скорее всего, пропускаются из-за того, что они являются двоичными файлами. Последующие поиски в той же папке занимают порядка секунд (до тех пор, пока содержимое не будет удалено из кэша).
Следующим ближайшим к той же папке, который я нашел, был grepWin. Около 3 минут. Я исключил файлы размером более 2000 КБ (по умолчанию). Параметр «Включить двоичные файлы», похоже, ничего не делает в плане ускорения поиска, похоже, что двоичные файлы все еще затрагиваются (ошибка?), Но они не отображаются в результатах поиска. Все последующие поиски занимают те же 3 минуты - не могут использовать кеш жесткого диска. Если я ограничу файлы размером менее 200 Кб, начальный поиск будет длиться 2,5 минуты, а последующие поиски будут занимать порядка секунд, примерно так же быстро, как VS - в кэше.
Агент Ransack и FileSeek работают очень медленно в этой папке, около 20 минут, из-за поиска по всему, включая гигантские двоичные файлы размером в несколько гигабайт. По данным Resource Monitor, они осуществляют поиск со скоростью около 10-20 МБ в секунду.
ОБНОВЛЕНИЕ: Агент Ransack может быть настроен на поиск файлов определенных размеров, и с использованием ограничения <200 КБ это 1: 15 минут для нового поиска и 5 секунд для последующих поисков. Быстрее, чем grepWin и так же быстро, как VS в целом. На самом деле очень приятно, если вы хотите сохранить несколько поисков во вкладках, и вы не хотите загрязнять список недавно найденных папок VS, и вы хотите сохранить возможность поиска в двоичных файлах, чего, похоже, VS не хочет делать. Агент Ransack также создает запись в контекстном меню проводника, поэтому его легко запустить из папки. То же, что и grepWin, но более приятный и быстрый интерфейс.
Моя новая настройка поиска - Agent Ransack для содержимого и Все для имен файлов (отличный инструмент, мгновенные результаты!).
источник
Если вы не хотите устанавливать инструменты сторонних разработчиков, загрузите STRINGS.EXE с Microsoft Sysinternals и выполните процедуру, подобную этой:
источник