2012-02-02 2 views
6

Могу ли я запустить это в командной строке Windows, как я могу запустить ее в UNIX?Команда Windows, эквивалентная egrep

egrep -wi 'FRIENDS|FOES' *.sql 

Эта команда предназначена для сканирования каждого файла SQL для целых ключевых слов «друзей» и «недругов» без учета регистра.

+3

вы смотрели на команды Findstr ли ? http://technet.microsoft.com/en-us/library/bb490907.aspx – selbie

+2

Почему этот вопрос занижен? В Windows CLI отсутствуют некоторые функции, которые мы используем для Linux. – dotancohen

ответ

3

Я думаю, что команда findstr является достаточно справедливой заменой команды Windows, вместо Linux.

2

Зависит от вашей системы. У вас установлена ​​какая-то версия grep? Windows не имеет эквивалента grep из коробки, но вы можете установить Cygwin/GnuWin или unxutils.sourceforge.net.

5

Ну вы можете иметь cygwin на Windows, так, то у вас есть bash, grep и т.д.

Если вам нужно только Grep, то есть GnuWin32.

Если вы не хотите ничего устанавливать и используете Win XP, попробуйте findstr, хотя он не может выполнить команду «orring».

Если вы находитесь на Win-7, то есть powershell, с select-string.

2

винда эквивалент будет команда FIND:

 
C:\>find /? 
Searches for a text string in a file or files. 

FIND [/V] [/C] [/N] [/I] [/OFF[LINE]] "string" [[drive:][path]filename[ ...]] 

    /V   Displays all lines NOT containing the specified string. 
    /C   Displays only the count of lines containing the string. 
    /N   Displays line numbers with the displayed lines. 
    /I   Ignores the case of characters when searching for the string. 
    /OFF[LINE] Do not skip files with offline attribute set. 
    "string" Specifies the text string to find. 
    [drive:][path]filename 
      Specifies a file or files to search. 

If a path is not specified, FIND searches the text typed at the prompt 
or piped from another command. 

Но вы также можете загрузить большинство утилит UNIX (включая Grep.) Из http://gnuwin32.sourceforge.net/ (просто поместите их в ваш PATH и использовать их).

2

I'm не уверен, ИЛИ состояние, но основная функция должна выглядеть

type *.sql | find /n "FRIENDS" 
0

Вот эквивалент задать расширенное "string1 | STRING2 | string3":

PS: C:> Findstr/C: string1/C: строка2/C: string3