Поиск по сайту:

Какая лучшая альтернатива grep в Windows?


Утилита grep в Linux является любимой среди многих системных администраторов за простоту поиска и знакомый синтаксис. Однако он недоступен в Windows, поэтому вам придется либо использовать альтернативы, либо установить сторонние инструменты grep для его эмуляции.

dnGrep

grep имеет множество сторонних реализаций для Windows, и хотя это не совсем Linux grep, он будет работать в основном так же. Если вам нужно собственное решение Windows с использованием CMD и Powershell, вы можете использовать другие инструменты, такие как FindStr, описанные ниже.

Одной из лучших реализаций является dnGrep, который также имеет богатый графический интерфейс, если вы хотите использовать его вне командной строки. Вы можете установить его из WinGet, нового встроенного менеджера пакетов Windows, или установить его из Github.

winget install -e --id dnGrep.dnGrep

Это предложит вам установку, нажмите «Разрешить», и она должна установиться довольно быстро.

Вы можете открыть интерфейс dnGrep из поиска в меню «Пуск», но одной из приятных функций является дополнение к контекстному меню, которое можно запустить из проводника:

Вы увидите интерфейс с параметрами для каждой функции grep, включая регулярные выражения, поиск и замену и наиболее распространенные флаги. Вы также можете настроить параметры «Поиск в», чтобы отфильтровать, какие файлы будут выбраны при поиске.

Как только вы нажмете поиск, все результаты поиска будут перечислены на панели графического интерфейса ниже. Вы можете открыть каждый файл, чтобы проверить его на боковой панели.

Это отличный опыт, но если вы хотите использовать его из командной строки, это также возможно. Однако, поскольку это приложение для Windows, интерфейс командной строки отличается от grep в Linux, поэтому вам, возможно, придется настроить свои сценарии.

Использование Actual grep из WSL или Git Bash

Конечно, если у вас установлена подсистема Windows для Linux (WSL), у вас есть доступ к чистому терминалу Linux. Это, вероятно, будет включать grep и аналогичные инструменты. WSL полностью взаимодействует с Windows, хотя имеет некоторые последствия для производительности, связанные с виртуализацией.

Если вы хотите установить WSL, вы можете прочитать наше руководство по его настройке, чтобы узнать больше. В качестве альтернативы вы можете использовать Git Bash, который представляет собой уровень эмуляции для лучшего взаимодействия с интерфейсом командной строки и включает реализацию grep, хотя и с ограниченной функциональностью.

После установки вы можете использовать grep точно так же, как и в обычной системе, но имейте в виду, что ваши файлы Windows могут находиться в таком месте, как /mnt/c/Users/. .

Использование FindStr

Если вам нужна быстрая альтернатива grep, которая работает «из коробки», вам подойдет команда PowerShell FindStr. Он работает как из сценариев CMD, так и из сценариев PowerShell и не требует установки чего-либо.

findstr foo *

Вы также можете использовать его с базовыми регулярными выражениями, используя флаг /r :

findstr /r "b.*" *