Существует ли аналогичная утилита, grep
доступная в командной строке Windows, или для нее есть сторонний инструмент?
179
Существует инструмент командной строки, FINDSTR
который поставляется со всеми операционными системами класса Windows NT ( FINDSTR /?
для получения дополнительной информации введите его в окне командной строки). Он не поддерживает все grep
, но может быть достаточным для ваших нужд.
netstat -n | FINDSTR 3389
PowerShell (входит в стандартную комплектацию Windows 7 / 2008R2, дополнительно для XP / 2003 / Vista / 2008), которая включает
select-string
командлет для этой цели.источник
Grep для Windows от проекта GnuWin (2014-10-02: он устарел, см. Комментарии ниже)
источник
как уже упоминалось, findstr работает нормально. пример :
C:> dir | Windows найти
06.11.2013 21:55 Windows
источник
Cygwin grep и многое другое;)
источник
Я также нашел еще один способ использования функциональности, аналогичной GREP, в Windows 7 и более поздних версиях без установки дополнительного приложения, а на старых системах вы можете использовать установку Powershell.
В Powershell Пользователь может использовать Where-Object, который имеет достаточно полный набор функций, который предоставляет все функциональные возможности GREP и многое другое.
Надеюсь, поможет.
источник
Я удивлен, что никто не упомянул FINDSTR . Я не grep poweruser, но findstr делает то, что мне нужно, фильтрует файлы и stdin с некоторой примитивной поддержкой регулярных выражений. Корабли с Windows и все такое. (Изменить: Ну, кто-то упомянул findstr, я думаю, уже поздно)
источник
Стоит отметить, что GnuWin32 предоставляет стандартную версию Win32 для всех стандартных инструментов linux, включая grep, file, sed, groff, indent и т. Д.
И он постоянно обновляется, когда выпускаются новые версии этих инструментов.
источник
В Windows я использую Far Manager для поиска файлов. BSD лицензирован, работает в консоли, экономит время при наборе параметров cmdline. Вот его диалог поиска, вызванный Alt-F7.
источник
Обновление: это не было правдой, когда вопрос был задан изначально, но теперь Microsoft позволяет установить Подсистему Windows для Linux , и тогда Windows запустит grep. В PowerShell запустите:
источник
UnxUtils - это отличный набор утилит Unix, которые работают в Windows. Он имеет grep, sed, gawk и т. Д.
источник
Отличная и очень быстрая утилита поиска файлов, Agent Ransack , поддерживает поиск по регулярным выражениям. В первую очередь это утилита с графическим интерфейсом, но также доступен интерфейс командной строки.
источник
В Windows Reskit есть утилита под названием "qgrep". Возможно, он уже у вас на коробке. ;-) Это также идет с командой "tail", слава богу!
источник
Хотя технически это не grep и не командная строка, Microsoft Visual Studio и Notepad ++ имеют очень хорошую функцию поиска в файлах с полной поддержкой регулярных выражений. Я часто использую их, хотя у меня также есть версия grep для CygWin, доступная в командной строке.
источник
Я добавлю свои $ 0,02 к этой теме. dnGREP - это отличный инструмент grep с открытым исходным кодом для Windows, который поддерживает отмену, интеграцию с проводником Windows, поиск по PDF, zip, DOC и многому другому
источник
Да, есть только одна программа для ПК с Windows, которая имеет солидный графический интерфейс, и это очень важно для меня. Я работаю разработчиком и на каждом компьютере, который у меня был, сначала устанавливаю программу XFind. Он создан в 1997 году и до сих пор является версией 1.0 и до сих пор работает и является лучшим. Часто мне нужно искать некоторую строку в « .cs», « .aspx», « .sct» (файл кода формы Visual FoxPro) или просто « . *», И XFind сканирует все файлы и показывает мне файлы, и еще одна замечательная вещь что вы можете посмотреть, где находится строка в файле. XFind также имеет своего рода редактор. Если это бинарный файл, он покажет вам поиск строки. Попробуйте и используйте это навсегда, если вы разработчик, как я.
источник
Вы, очевидно, получили много разных рекомендаций.
Мой личный выбор бесплатной сторонней утилиты: Agent Ransack
Загрузка агента Ransack
Несмотря на несколько запутанное название, он хорошо работает и может использоваться для поиска файлов различными способами.
Удачи
источник
многофункциональный модуль busybox содержит grep / egrep / sed / awk и многое другое
получить его от:
Обновление: больше не доступно - или более старое
источник
Голая Grep хороша, если вы хотите графический интерфейс. Gnu grep хорош для CLI
источник
Если вы не возражаете против оплаченного продукта, PowerGREP - мой личный фаворит.
источник
Мы недавно использовали PowerGREP для некоторых довольно сложных массовых операций с тысячами файлов. Включая поиск по регулярному выражению в содержимом файлов PDF и изменяя документы PDF в крупном масштабе.
Это стоит денег, если вы хотите сэкономить время на труде. Вы можете попробовать это, прежде чем купить, я думаю.
источник
Если вам нужно использовать «голую» Windows, то в дополнение к указанному выше параметру Powershell вы можете использовать VBScript, который имеет достойную поддержку RegEx.
MS также имеет приличную область сценариев в Technet с множеством примеров для администраторов.
источник
Просто попробуйте Java-утилиту LikeGrep. Это может помочь вам во многих случаях. По вашему желанию он также может заменить некоторый текст, найденный в файлах. Он гарантирует работу с большими файлами (проверено до 8 Гб)
источник
Как упоминалось выше, проект gnuwin32 имеет версию grep для Windows CLI.
Если вы хотите что-то с графическим интерфейсом, я бы порекомендовал ( AstroGrep ) инструмент с открытым исходным кодом .
источник
Прошло много времени с тех пор, как я их использовал, но Borland (сейчас Embarcadero) включил grep командной строки в свой компилятор C / C ++. В течение некоторого времени они сделали доступной свою версию 5.5 для бесплатной загрузки после регистрации.
источник
Коммерческая утилита grep доступна от Oak Road Systems .
источник
Я рекомендую PowerGrep
Я должен был сделать проект электронного открытия несколько лет назад. Я обнаружил, что
fisdstr
есть некоторые ограничения, особенно FISDSTR в конечном итоге потерпит неудачусценарий должен был искать тысячи файлов, используя пару десятков поисковых терминов / фраз.
Grep Cygwin работал намного лучше , он не давился часто, но в конечном итоге я пошел в PowerGrep, потому что графический интерфейс позволил намного легче определить, когда и где произошел сбой, а также было действительно легко редактировать все условные выражения и выводить, что Я хотел. В конечном итоге PowerGrep был самым надежным из трех.
источник
Я знаю, что это немного старая тема, но вот еще одна вещь, которую вы можете сделать. Я работаю на виртуальной машине разработчика без доступа к Интернету и довольно ограниченного свободного дискового пространства, поэтому я использовал установленную на ней java.
Скомпилируйте небольшую Java-программу, которая выводит совпадения регулярных выражений на консоль. Поместите jar в вашу систему, создайте пакет для его выполнения и добавьте папку в переменную PATH:
JGrep.java:
c: \ jgrep \ jgrep.bat (вместе с jgrep.jar):
и добавьте c: \ jgrep в конец переменной среды PATH.
Сейчас просто позвони
jgrep "expression" file.txt
из любой точки мира.Мне нужно было напечатать некоторые конкретные группы из моего выражения, поэтому я добавил модификатор и назвал его как
jgrep -printGroup=1 "expression" file.txt
.источник
Я понимаю, это старый вопрос, но я наткнулся на этот пост в поисках ответа. И я нашел один, так что добавив его здесь для коллективной памяти в Интернете
Powershell: модуль Select-String: Microsoft.PowerShell.Utility
https://docs.microsoft.com/en-us/powershell/module/microsoft.powershell.utility/select-string
и информативное сообщение в блоге с расширенными примерами: «Как выполнить« grep »в PowerShell» https://antjanus.com/blog/web-development-tutorials/how-to-grep-in-powershell/
Простой пример из этого поста в блоге: cat package.json | Select-String -Pattern webpack ls ./src/components/ | Select-String -Pattern View
C:> кошка post.md | Select-String -Pattern "^ \ w *:"
источник
Используйте Cygwin ...
он имеет 32- и 64-битные версии
и отлично работает с Windows 2000 (*)
до Windows 10 или Server 2019
Я давно пользуюсь Cygwin ...
и недавно пытался заменить Windows-Linux-подсистемами ...
ненадолго ...
я быстро вернулся к Cygwin снова ...
гораздо более гибкий, управляемый и богатый ...
и менее навязчивый ...
просто добавьте \ bin к пути ...
и вы можете использовать его в любом случае в Windows / Batch / Powershell ...
или в DOS-Box ... или в Powershell-Box ...
Также вы можете установить массу отличных пакетов
которые действительно работают ... как nginX или PHP ... Я даже использую пакет Cygwin PHP в своем IIS ...
В качестве бонуса вы также можете использовать его из оболочки Bash ...
(Я думаю, что это было первоначальное намерение ;-))
источник