Вам когда-нибудь приходилось находить текст в куче разных текстовых файлов? Если вы в ИТ, эта проблема может возникать довольно часто. Возможно, вы ищете конкретную фразу в лог-файлах или, может быть, вы программист, и вам нужно найти какой-то код, который находится внутри множества разных файлов кода.
К сожалению, в Windows нет простого способа сделать это. По умолчанию поиск Windows ужасен для такого рода задач, потому что он очень медленный и не позволяет выполнять расширенный поиск. К счастью, есть несколько других способов, намного превосходящих поиск Windows, о которых я упомяну в этом посте. Я не буду вдаваться в подробности о каждом решении, но вы можете использовать Google, чтобы узнать больше.
Если вы не хотите устанавливать какое-либо стороннее программное обеспечение и вам не безразлично использовать командную строку, вам следует ознакомиться со встроенным разделом команд поиска ниже. Я предполагаю, что большинству людей более комфортно работать с интерфейсами GUI, поэтому я в первую очередь упоминаю программы.
Сторонние поисковые программы
Когда дело доходит до поиска нескольких текстовых файлов, король всех команд поиска - grep. grep - это утилита командной строки в UNIX / Linux, которая позволяет выполнять расширенный поиск с использованием регулярных выражений. Он очень популярен и используется во всех дистрибутивах Linux.
Поэтому, когда кто-то пишет программу для поиска в Windows, в нем неизбежно появляется слово grep. Это в значительной степени относится ко всем программам, перечисленным ниже.
grepWin
grepWin, пожалуй, самый популярный из упомянутых здесь инструментов. Он поддерживает регулярные выражения и позволяет также найти и заменить текст. У них также есть учебник на их веб-сайте, чтобы помочь с регулярными выражениями, хотя вы можете Google для многих других.
Вы можете ограничить поиск по размеру файла, типу файла и другим критериям. Он также добавляет опцию в контекстное меню правой кнопкой мыши в Проводнике для быстрого поиска в папке. Результаты перечислены в нижнем окне, и вы можете просто дважды щелкнуть по ним, чтобы открыть файлы.
AstroGrep
AstroGrep - еще одна действительно хорошая поисковая программа. Он не только обновляется довольно часто, но и показывает, где в файле был найден текст. grepWin также имеет эту опцию, если вы выбираете радиокнопку Content, но я думаю, что она реализована лучше в AstroGrep.
AstroGrep также может искать файлы Word, что очень удобно. Вы также можете сохранить или распечатать все результаты для дальнейшего использования. Я также нахожу их интерфейс более современным и приятным для глаз.
BareGrep
BareGrep - довольно простая поисковая программа, которая поддерживает регулярные выражения и все основные функции поиска. В целом это довольно быстро и показывает вам совпадения в табличном формате. В бесплатной версии есть заставка, которую нельзя отключить. Профессиональная версия стоит $ 25 и, кажется, просто отключить заставку, в противном случае функции одинаковы.
PowerGREP
Если вы ищете окончательную поисковую программу, ищите больше, чем PowerGREP. У этой программы есть некоторые серьезные особенности и серьезный ценник, чтобы согласиться с этим. Это колоссальные 159 долларов! Он в значительной степени включает в себя все функции, упомянутые выше, плюс еще некоторые, и все красиво упаковано в довольно маленький интерфейс.
Я рекомендую эту программу только в том случае, если у вас есть серьезные проблемы с поиском, в том числе поиск текста в файлах Word, PDF-документах, электронных таблицах Excel и т. Д. Она может даже извлекать статистику из ваших файлов журнала и предоставлять эту информацию вам. Это довольно мощный инструмент.
Встроенные команды Windows
Если вам нужно только выполнить быстрый поиск и не хотите устанавливать полноценную программу, вы можете использовать встроенные средства командной строки в Windows. Один запускается в обычной командной строке, а другой использует PowerShell. Оба довольно мощные и могут найти практически все, что вы ищете.
Первая команда - это findstr . Вы можете прочитать справочный документ здесь, чтобы узнать, как использовать findstr. Вы также можете ввести findstr /? в командной строке, и он покажет вам использование. Как видите, вариантов довольно много. Очевидно, что это намного сложнее, чем с помощью одной из программ выше.
Второй вариант - это команда Select-String в Windows PowerShell. Опять же, есть довольно большая кривая обучения с этими командами, если вы еще не использовали их. У Microsoft есть хорошее руководство по использованию Select-String, поэтому обязательно прочтите его.
Таким образом, это в основном лучшие способы поиска текста в большом количестве файлов. Я предлагаю вам попробовать различные варианты и посмотреть, какой из них лучше всего подходит для вас. Наслаждайтесь!