Аналог grep в windows
Есть ли подобная утилита для команда grep доступен из командной строки Windows, или есть сторонний инструмент для этого?
В PowerShell (входит в стандартную комплектацию ОС Windows 7/2008R2 с, опционально для XP/2003/Виста/2008), который включает командлет выберите строку для этой цели.
как уже упоминалось, она отлично работает. пример :
C:>реж | команда findstr окна
11/06/2013 09:55 ПМ <реж> окна
Я также нашел еще один способ использования команды grep как функциональность в Windows 7 и выше без каких-либо дополнительных приложений для установки и на более старых системах можно использовать установки PowerShell.
В в PowerShell, пользователь может использовать где-Объекта она имеет достаточно обширный набор функций, который обеспечивает все функциональные возможности поиска, а также многое другое.
Надеюсь, что это помогает.
GnuWin32 стоит упомянуть, это обеспечивает нативную версию для Win32 все стандартные инструменты Linux, включая грэп, файл, СЭД, Грофф, отступ и т. д.
На Windows я использую далеко Диспетчере для поиска файлов. Лицензия BSD, работает в консоли, экономит время на вводе параметров командной строки. Вот ее диалог поиска вызывается по альт-Ф7.
UnxUtils является большой набор утилиты Unix, которые работают на Windows. Он грэп, СЭД, поглазеть, и т. д.
В Windows пакет ресурсов существует утилита под названием "qgrep и". Вы, возможно, уже на своем поле. ;-) Это тоже входит в "хвост" и команда, слава богу!
Хотя не технически команда grep, ни командной строки, как корпорация Майкрософт Visual Studio и блокнот есть очень хорошая находка в файлов с полной поддержкой регулярных выражений. Я считаю себя, используя их часто, хотя у меня тоже есть версия под Cygwin команды grep доступны в командной строке.
Использовать Cygwin. <БР>
он имеет 32 и 64 бит версии<БР> и он отлично работает с Windows 2000 (*)<БР> до Windows 10 или сервер 2019<БР>
Я использовать Cygwin в течение длительного времени. <БР> а недавно пытался заменить с Windows-и Linux-подсистемы. <БР>
не долго. <БР> Я быстро вернулась в Cygwin. <БР>
гораздо более гибкий, регулируемый и богатые. <БР> также менее навязчивым. <БР>
просто добавьте <под Cygwin>\bin в путь. <БР> и вы можете использовать его anyware в Windows/партии/PowerShell с. <БР> или в DOS-окне. или в PowerShell, в коробке.
Также вы можете установить множество пакетов<БР> которые действительно работают. это nginx или PHP. Я даже использовать пакет с Cygwin PHP в моем служб IIS.
В качестве бонуса, а также можете использовать его из оболочки Bash. <БР> (Я думаю, что это был первоначальный замысел ;-))
Есть ли в командной строке grep эквивалент для Windows 7? То есть я хочу отфильтровать результаты команды:
Использование Bash:
Что бы это было из командной строки Windows?
не путайте ms-dos с командной строкой. + использование find и findstr и даже grep для windows .. легко найти с помощью быстрого поиска. Есть даже таблицы эквивалентных команд в Linux и Windows. также вы пример bash даже не специфичен для bash .. просто я полагаю, * nix OS.Findstr звучит как то, что вы хотите. Я использую его все время как приблизительный эквивалент grep на платформе Windows.
Да, это то, что я ищу. Я понимаю, что, вероятно, есть ограничения. Я попробую. @VictorGrazi Сначала они это сделали, см. Эту статью . Первоначально он назывался qgrep, но позже был переименован. Большая проблема в findstr том, что шаблон регулярных выражений может не содержать альтернатив. Вопрос о Windows 7, но какие еще версии Windows имеют findstr по умолчанию? С Windows XP ?Есть несколько возможностей:
- Используйте порт команды Unix grep . Есть несколько вариантов. Чаще всего упоминаются GNUWin32 , cygwin и unxutils . Менее известными, но в некотором смысле лучше, являются инструменты из служебного инструментария SFUA , которые запускаются в Подсистеме для приложений на основе UNIX, которая поставляется в комплекте с Windows 7 Ultimate Edition и Windows Server 2008 R2. (Для Windows XP, можно загрузить и установить службы для UNIX версии 3.5 .) Этот инструментарий имеет большое количество командной строки TUI инструментов, от mv и du через оболочки Korn и C, чтобы perl и awk , Он выпускается в версиях x86-64 и IA64, а также x86-32. Программы работают в собственном POSIX-окружении Windows, а не с DLL-библиотеками эмулятора (такими как cygwin1.dll ), наслоенными поверх Win32. И да, инструментарий есть grep , а также около 300 других.
- Используйте одну из многих собственных grep команд Win32, которые люди написали и опубликовали. Тим Чаррон, например, имеет встроенную версию модифицированной GNU grep для Win32 . Существуют также PowerGREP , Bare Grep , grepWin , AstroGrep и dnGrep , хотя это все программы с графическим интерфейсом, а не программы TUI.
- Используйте прилагаемые find и findstr . grep Обратите внимание, что синтаксис отличается от синтаксиса регулярных выражений.
Если команды PowerShell разрешены, используйте
Помните, что псевдоним sls определяется только начиная с PowerShell версии 3.0. Вы можете добавить псевдоним для меньшего ввода:
Чтобы запустить команду PowerShell непосредственно из cmd, используйте
В своей ранней редакции вы написали MS-DOS, есть только FIND , насколько я знаю. Но это древняя ОС, которая больше не используется.
В командной строке Windows NT (например , Win2K и выиграть XP и более поздних, так , например , win7, win10), вы можете использовать find и findstr если вы загружаете gnuwin32 тогда grep
Основные различия заключаются в том, что findstr поддерживает некоторые регулярные выражения . Grep лучше всего поддерживает регулярные выражения.
find /? и findstr /? показывает вам, что делают переключатели.
У Gnuwin32 есть «пакеты». Если вы загружаете GnuWin32, я предлагаю пакет coreutils для набора базовых полезных утилит, с которыми вы уже знакомы, но в этом случае grep не является его собственным пакетом.
добавленной
Gp GnuWin32, последний раз, когда я проверял, старый. Grep Cygwin's намного более современный. Также имейте в виду, что многие люди используют виртуальные машины, а не порты Windows команд * nix.
Есть ли утилита, аналогичная grep , доступная из командной строки Windows, или для нее есть сторонний инструмент?
Я также нашел еще один способ использования функциональности GREP в Windows 7 и более поздних версиях без установки каких-либо дополнительных приложений, а в более старых системах вы можете использовать установку Powershell.
В Powershell пользователь может использовать Where-Object он имеет довольно полный набор функций, который обеспечивает все функции GREP и многое другое.
Надеюсь, это поможет.
Как упоминалось выше, проект gnuwin32 имеет версию grep для Windows CLI.
Если вам нужно что-то с графическим интерфейсом, я бы порекомендовал инструмент (с открытым исходным кодом) AstroGrep.
Существует инструмент командной строки под названием FINDSTR , который поставляется со всеми операционными системами класса Windows NT (введите FINDSTR /? в окно командной строки для получения дополнительной информации). Он поддерживает не все grep делает, но этого может быть достаточно для ваших нужд.
PowerShell (входит в стандартную комплектацию Windows 7 / 2008R2, необязательно для XP / 2003 / Vista / 2008), которая включает для этой цели командлет select-string .
Как уже упоминалось, findstr отлично работает. пример :
C:> dir | findstr Windows
06.11.2013 21:55 Windows
Я удивлен, что никто не упомянул НАЙТИ. Я не grep poweruser, но findstr делает то, что мне нужно, фильтрует файлы и stdin с некоторой примитивной поддержкой регулярных выражений. Поставляется с Windows и всем остальным. (Изменить: кто-то упомянул findstr, я думаю, уже поздно)
Следует упомянуть GnuWin32, он предоставляет встроенную версию Win32 всех стандартных инструментов Linux, включая grep, file, sed, groff. , отступ и т. д.
И он постоянно обновляется, когда выпускаются новые версии этих инструментов.
UnxUtils - отличный набор утилит Unix, работающих в Windows. В нем есть grep, sed, gawk и т. Д.
В Windows я использую Far Manager для поиска файлов. Лицензия BSD, работает в консоли, экономит время на ввод параметров cmdline. Вот его диалог поиска, вызываемый Alt-F7.
Обновление: это было не так, когда изначально задавался вопрос, но теперь Microsoft позволяет Установите подсистему Windows для Linux, и Windows запустит grep. В PowerShell запустите:
Отличная и очень быстрая утилита поиска файлов, Agent Ransack, поддерживает поиск по регулярным выражениям. В первую очередь это утилита с графическим интерфейсом пользователя, но также доступен интерфейс командной строки.
В реските windows есть утилита "qgrep". Возможно, он уже у вас в коробке. ;-) Есть еще и команда "хвост", слава богу!
Хотя технически это не 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 и МНОЖЕСТВО других
Получить это из:
Обновление: больше не доступно - или несколько старше
Bare Grep удобен, если вам нужен графический интерфейс. Gnu grep подходит для интерфейса командной строки.
Если вы не возражаете против платного продукта, PowerGREP - мой личный фаворит.
Недавно мы использовали PowerGREP для некоторых довольно сложных массовых операций с тысячами файлов. В том числе поиск по регулярным выражениям в содержимом файлов PDF и изменение документов PDF в большом масштабе.
Это стоит денег, если вы хотите сэкономить время на ручном труде. Думаю, вы можете попробовать это перед покупкой.
Если вам нужно использовать чистую Windows, то в дополнение к опции Powershell, упомянутой выше, вы можете использовать VBScript, который имеет достойную поддержку RegEx.
У MS также есть приличная область сценариев на Technet с множеством примеров для администраторов.
Просто попробуйте Java-утилиту LikeGrep. Это может помочь вам во многих случаях. По вашему желанию он также может заменять некоторый текст, найденный в файлах. Гарантирует работу с большими файлами (проверено до 8 Гб)
Прошло некоторое время с тех пор, как я их использовал, но Borland (сейчас Embarcadero) включил grep командной строки в свой компилятор C / C ++. Некоторое время они предоставляли свою версию 5.5 для бесплатной загрузки после регистрации.
Существует коммерческая утилита grep, доступная на сайте Oak Road Systems.
Я рекомендую PowerGrep
Несколько лет назад мне пришлось заняться электронным открытием. Я обнаружил, что у fisdstr есть некоторые ограничения, в частности fisdstr в конечном итоге выйдет из строя
Скрипту пришлось искать в тысячах файлов, используя пару десятков поисковых терминов / фраз.
Grep Cygwin работал намного лучше , он не часто давился, но в конечном итоге я перешел на PowerGrep, потому что графический интерфейс значительно упростил определение, когда и где произошел сбой, а также его было действительно легко редактировать во всех условных выражениях и выводах, которые я хотел. В конечном итоге PowerGrep оказался самым надежным из трех.
Я знаю, что это немного старая тема, но вы можете сделать еще кое-что. Я работаю на виртуальной машине разработчика без доступа к Интернету и довольно ограниченного свободного дискового пространства, поэтому я использовал установленную на ней java.
Скомпилируйте небольшую программу Java, которая выводит совпадения регулярных выражений на консоль. Поместите банку где-нибудь в вашей системе, создайте пакет для его выполнения и добавьте папку в свою переменную 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
C:> cat post.md | Select-String -Pattern «^ \ w *:»
Имеет 32- и 64-битную версии
и он отлично работает с Windows 2000 (*)
на Windows 10 или Server 2019
Давно пользуюсь Cygwin .
и недавно пытался заменить Windows-Linux-Subsystems .
Ненадолго .
Я быстро вернулся к Cygwin снова .
Гораздо более гибкий, управляемый и богатый .
также менее навязчивый .
Просто добавьте \ bin в путь .
и вы можете использовать его в любом программном обеспечении в Windows / Batch / Powershell .
или в DOS-Box . или в Powershell-Box .
Также вы можете установить массу отличных пакетов
которые действительно работают . как nginX или PHP . Я даже использую пакет Cygwin PHP в своем IIS .
В качестве бонуса вы также можете использовать его из оболочки bash .
(Думаю, это было изначальное намерение ;-))
есть ли аналогичная утилита для grep доступен из командной строки Windows, или есть сторонний инструмент для этого?
есть утилиты командной строки FINDSTR , который поставляется со всеми операционными системами Windows NT-класса (Тип FINDSTR /? в окне командной строки для получения дополнительной информации) он не поддерживает все grep делает, но это может быть достаточно для ваших нужд.
PowerShell (входит в стандартную комплектацию Windows 7 / 2008R2, необязательно для XP/2003/Vista / 2008), которая включает select-string командлет для этой цели.
Grep для Windows по проекту GnuWin (2014-10-02: он устарел, см. комментарий ниже)
Как уже упоминалось, она отлично работает. пример :
C:>dir / findstr Windows
11/06/2013 09: 55 PM Windows
Я также нашел еще один способ использования GREP как функциональность в Windows 7 и выше без каких-либо дополнительных приложений для установки и на старых системах вы можете использовать установить Powershell.
на Powershell, пользователь может использовать Где-Объект Он имеет довольно полный набор функций, который обеспечивает всю функциональность GREP plus больше.
надеюсь, это поможет.
Я удивлен, что никто не упомянул команда findstr. Я не grep poweruser, но findstr делает то, что мне нужно, фильтрует файлы и stdin, с некоторой примитивной поддержкой регулярных выражений. Корабли с окнами и все такое. (Edit: Ну кто-то упомянул findstr, это поздно, я думаю)
GnuWin32 стоит упомянуть, он предоставляет собственную версию Win32 всех стандартных инструментов linux, включая grep, file, sed, groff, indent и т. д.
и он постоянно обновляется, когда выпускаются новые версии этих инструментов.
в Windows я использую Far Manager для поиска файлов. BSD лицензирован, работает в консоли, экономит время на вводе параметров cmdline. Вот его диалог поиска, вызванный Alt-F7.
UnxUtils - отличный набор утилит Unix, которые работают в Windows. У него есть grep,sed, gawk и т. д.
отличная и очень быстрая утилита поиска файлов, Агент Обшарить, поддерживает поиск регулярных выражений. Это в первую очередь утилита GUI, но интерфейс командной строки также доступен.
Update: это было не так, когда вопрос был первоначально задан, но теперь Microsoft позволяет одному установите подсистему Windows для Linux, а затем Windows запустит grep. В PowerShell выполните команду:
в Windows reskit есть утилита под названием "qgrep". Возможно, он уже у вас на коробке. ;- ) Он также поставляется с командой "хвост", слава богу!
хотя технически это не grep и не командная строка, как Microsoft Visual Studio, так и Notepad++ есть очень хорошая функция поиска в файлах с полной поддержкой регулярных выражений. Я часто использую их, хотя у меня также есть версия Cygwin grep, доступная в командной строке.
Я добавлю свой $0.02 в эту тему. dnGREP это отличный инструмент с открытым исходным кодом grep для windows, который поддерживает отмену, интеграцию проводника windows, поиск внутри PDF-файлов, молнии, документы и кучу других вещей.
Да есть только одна программа для ПК с Windows, которые имеют твердый графический интерфейс, и это важно util для меня. Я работаю разработчиком и на каждом компьютере, который у меня был, первым делом устанавливаю программу XFind. Он создан в 1997 году и до сих пор версия 1.0 и до сих пор работает и является лучшим. Часто мне нужно искать какую-то строку в ".cs",".aspx",".sct "(файл кода формы Visual FoxPro) или просто".* "и XFind сканирует все файлы и показывает мне файлы и еще одну замечательную вещь это то, что вы можете посмотреть, где строка находится в файле. XFind также имеет какой-то редактор. Если это двоичный файл, он покажет вам строку надено. Попробуйте и используйте его навсегда, если вы разработчик, как я.
вы, очевидно, получили много разных рекомендаций.
Мой личный выбор для бесплатной утилиты 3rd Party: Agent Ransack
Agent Ransack Загрузить
Несмотря на свое несколько запутанное название, он хорошо работает и может использоваться различными способами для поиска файлов.
Если вы устанавливаете Cygwin или Mingw, то да.
в противном случае, насколько я знаю.
Голый Grep хорошо, если вы хотите GUI. в GNU grep в хорошо для CLI
Если вы не возражаете против платного продукта, PowerGREP-мой личный фаворит.
мы недавно использовали PowerGREP для некоторых довольно продвинутых массовых операций с тысячами файлов. Включая поиск регулярных выражений в содержании PDF-файлов и изменение PDF-документов в крупном масштабе.
стоит своих денег, если вы хотите сэкономить время от Мануэля труда. Вы можете попробовать, прежде чем покупать, я думаю.
Если вам нужно использовать голые окна, то в дополнение к опции Powershell, указанной выше, вы можете использовать VBScript, который имеет достойную поддержку регулярных выражений.
MS также имеет приличную область сценариев на Technet с тонной примеров для администраторов.
просто попробуйте утилиту likegrep java. Это может помочь вам во многих случаях. Как вы хотите, он также может заменить текст, найденный в файлах. Он гарантирует свою работу с большими файлами (до 8 Гб протестировано)
Как упоминалось выше, проект gnuwin32 имеет версию Windows CLI grep.
Если вы хотите что-то с графическим интерфейсом, я бы рекомендовал инструмент (с открытым исходным кодом)AstroGrep.
прошло некоторое время с тех пор, как я использовал их, но Borland (Embarcadero теперь) включил командную строку grep с их компилятором C/C++. В течение некоторого времени они сделали доступной свою версию 5.5 как скачать после регистрации.
существует коммерческая утилита grep, доступная из Дубовый Дорог.
рекомендую PowerGrep
мне пришлось сделать проект e-discovery несколько лет назад. Я нашел это fisdstr имеет некоторые ограничения, особенно fisdstr в конечном итоге потерпит неудачу
скрипт должен был искать по тысячам файлов, используя пару десятков поисковых терминов / фраз.
по Cygwin грэп работали гораздо лучше, он не часто задыхался, но в конечном итоге я пошел в PowerGrep, потому что графический интерфейс сделал его намного проще сказать, когда и где он разбился, а также было очень легко редактировать во всех условных и выходных данных, которые я хотел. В конечном счете PowerGrep был самым надежным из трех.
все-в-одном busybox содержит grep / egrep / sed / awk и многое другое
или некоторые старые
Я знаю, что это немного старая тема, но вот еще одна вещь вы можете сделать. Я работаю на виртуальной машине разработчика без доступа в интернет и довольно ограниченного свободного места на диске, поэтому я использовал java, установленную на нем.
скомпилируйте небольшую java-программу, которая печатает совпадения регулярных выражений на консоли. Поместите банку где-нибудь в вашей системе, создайте пакет для ее выполнения и добавьте папку в свой путь переменная:
При переходе с bash на PowerShell часто возникают неудобства, связанные с незнанием, какие есть аналоги в PowerShell и как ими пользоваться. К примеру, лично мне очень нравится bash своей логикой. Вот нужно вам из текстового файла найти только что-то определенное, и вы знаете, что для этого нужно задействовать, скажем, cat и grep. А вот при написании подобного на PowerShell часто возникает полный ступор. И вроде вся логика понятна, и скрипт-то в одну строку, а как реализовать — неясно. Именно с этим и предлагаю разобраться в сегодняшней статье.
Про общий синтаксис и основы языка PowerShell написано немало, есть огромное количество литературы, статей и видео на данную тему. Те же циклы и счетчики описаны уже не по одному десятку раз, поэтому в данной статье о них ничего не рассказано. Если вдруг про PowerShell вы узнали совсем недавно, то есть смысл обратиться в поисковую систему с банальным запросом вида «powershell tutorial for beginners pdf».
Общие правила в PowerShell
Сперва давайте разберемся с наиболее простым, но не менее важным — с тем, как работать с переменными. Скажем, если в bash для объявления переменной достаточно написать foo=1 , то для PowerShell нужно добавить знак доллара — $foo=1 . Для вывода значения переменной на экран можно воспользоваться универсальным echo или, если работаешь с пошиком, командлетом Write-Host . Длиннее? Да, безусловно, но при этом с помощью данного командлета можно весьма интересно управлять выводом:
Write - Host ( 2 , 4 , 6 , 8 , 10 , 12 ) - Separator "->" - ForegroundColor DarkMagenta - BackgroundColor WhiteК примеру, данный код выведет последовательность цифр в скобках, между цифрами поставит знак -> плюс раскрасит бэкграунд и сам текст. Конечно, для скрипта на коленке это не нужно, но вот для каждодневного отчета почему бы и нет.
Пример работы командлета Write-Host
Нужно что-либо сравнить? Для этого есть целая таблица, которая так или иначе знакома любому линуксоиду:
Читайте также: