Findstr звучит так, как ты хочешь. Я постоянно использую его как примерный grep-эквивалент на Windows-платформе.
Другой пример с трубами:
C:\> dir /B | findstr /R /C:"[mp]"
Есть несколько возможностей:
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. Программы работают в родном для Windows POSIX окружении, а не с эмуляторными DLL (такими как cygwin1.dll
), слоируя вещи поверх Win32. И да, в инструментарии есть grep
, а также около 300 других.grep
, которые люди написали и опубликовали. Например, у Тима Чаррона есть нативная Win32-версия модифицированного GNU grep. Есть также PowerGREP, Bare Grep, grepWin, AstroGrep и dnGrep, хотя это все GUI-программы, а не TUI-программы. find
и findstr
. Синтаксис отличается от синтаксиса grep
, обратите внимание, как и возможность регулярных выражений. В вашей ранней ревизии, которую вы написали MS-DOS, есть только FIND
, насколько я знаю. Но это древняя операционная система, которая больше не используется.
В командной строке Windows NT (например, Win2K и выиграть XP и позже, так что, например, win7,win10), вы можете использовать find
и findstr
, и если вы загрузите GnuWin32, то grep
Основное отличие заключается в том, что findstr имеет поддержку некоторых регулярных выражений. Лучше всего grep поддерживает регулярные выражения.
C:\>dir | find "abc"
C:\>dir | find /i "abc"
find /?
и findstr /?
показывает, что делают переключатели.
Gnuwin32 имеет "пакеты". Если вы загружаете GnuWin32, я предлагаю пакет coreutils для набора основных полезных утилит, которые вам знакомы, но grep не в этом пакете, это его собственный пакет.
Добавленный
grep GnuWin32, последний раз, когда я проверял, старый. Греп Сигвина гораздо более современный. Также имейте в виду, что многие люди используют виртуальные машины, а не windows-порты *nix-команд.
.