Поиск внутри нескольких текстовых файлов одновременно

Вам когда-нибудь приходилось находить какой-то текст в куче разных текстовых файлов? Если вы работаете в сфере ИТ, эта проблема может возникать довольно часто. Возможно, вы ищете определенную фразу в лог-файлах или, может быть, вы программист и вам нужно найти какой-то код, который находится во многих разных файлах кода.

К сожалению, в Windows(Windows) нет простого способа сделать это . Поиск Windows(Windows) по умолчанию ужасен для такого рода задач, потому что он очень медленный и не позволяет выполнять расширенный поиск. К счастью, есть несколько других способов, намного превосходящих поиск Windows , о которых я упомяну в этом посте. Я не буду вдаваться в подробности каждого решения, но вы можете использовать Google , чтобы узнать больше.

Если вы не хотите устанавливать какое-либо стороннее программное обеспечение и вам удобно работать с командной строкой, вам следует ознакомиться с разделом встроенных команд поиска ниже. Я предполагаю, что большинству людей удобнее работать с графическими(GUI) интерфейсами, поэтому сначала я упоминаю программы.

Сторонние поисковые программы

Когда дело доходит до поиска в нескольких текстовых файлах, лучшей из всех команд поиска является grep. grep — это утилита командной строки в UNIX/Linux , позволяющая выполнять расширенный поиск с использованием регулярных выражений. Он очень популярен и используется во всех дистрибутивах Linux .

Поэтому, когда кто-то пишет программу для поиска в Windows , в ней неизбежно присутствует слово grep. Это в значительной степени относится ко всем программам, перечисленным ниже.

grepWin

grepWin , пожалуй, самый популярный из упомянутых здесь инструментов. Он поддерживает регулярные выражения, а также позволяет находить и заменять текст. У них также есть учебник на своем веб-сайте, чтобы помочь с регулярными выражениями, хотя вы можете найти в Google гораздо больше.

Вы можете ограничить поиск по размеру файла, типу файла и другим критериям. Он также добавляет параметр в контекстное меню, вызываемое правой кнопкой мыши в Проводнике(Explorer) , для быстрого поиска в папке. Результаты перечислены в нижнем окне, и вы можете просто дважды щелкнуть по ним, чтобы открыть файлы.

АстроГрэп

AstroGrep — еще одна действительно хорошая поисковая программа. Он не только довольно часто обновляется, но и показывает, где в файле был найден текст. grepWin также имеет эту опцию, если вы выберете переключатель Content , но я думаю, что в (Content)AstroGrep она реализована лучше .

AstroGrep также может искать файлы Word , что является удобной функцией. Вы также можете сохранить или распечатать все результаты для дальнейшего использования. Я также нахожу их интерфейс более современным и приятным для глаз.

BareGrep

BareGrep — довольно простая поисковая программа, поддерживающая регулярные выражения и все основные функции поиска. В целом это довольно быстро и показывает совпадения в табличном формате. В бесплатной версии есть заставка, которую нельзя отключить. Профессиональная версия стоит 25 долларов и, кажется, просто отключает заставку, в остальном функции те же.

PowerGREP

Если вы ищете идеальную программу поиска, ищите не только PowerGREP . Эта программа имеет некоторые серьезные функции и серьезную цену. Это колоссальные 159 долларов! В нем есть почти все функции, упомянутые выше, а также некоторые другие, и все они красиво упакованы в симпатичный маленький интерфейс.

Я рекомендую эту программу только в том случае, если у вас есть серьезные потребности в поиске, включая поиск текста в файлах Word , документах PDF , электронных таблицах (PDF)Excel и т. д. Она даже может извлекать статистику из ваших файлов журналов и предоставлять вам эту информацию. Это достаточно мощный инструмент.

Встроенные команды Windows

Если вам нужен только быстрый поиск и вы не хотите устанавливать полноценную программу, вы можете воспользоваться встроенными в Windows средствами командной строки . Один запускается в обычной командной строке, а другой использует PowerShell . Оба довольно мощные и могут найти практически все, что вы ищете.

Первая команда — findstr . Вы можете прочитать справочный документ(reference document) здесь, чтобы узнать, как использовать findstr. Вы также можете ввести findstr /?в командной строке, и он покажет вам использование. Как видите, вариантов довольно много. Очевидно, что это намного сложнее, чем использование одной из вышеперечисленных программ.

Второй вариант — это команда Select-String в Windows PowerShell . Опять же(Again) , с этими командами нужно довольно долго учиться, если вы еще их не использовали. У Microsoft(Microsoft) есть хорошее руководство по использованию Select-String(how to use Select-String) , поэтому обязательно прочитайте его.

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



About the author

Я инженер-конструктор со стажем работы более 10 лет. Я специализируюсь на USB-контроллерах и кабелях, а также на обновлении BIOS и поддержке ACPI. В свободное время я также люблю вести блог на различные темы, связанные с технологиями и инженерией.



Related posts