Как вывести строки, которые не соответствуют 'this_string', используя Get-Content и Select-String в PowerShell? - PullRequest
17 голосов
/ 21 ноября 2011

Я нашел сообщение о пользователях, которые хотели использовать grep в PowerShell. Например,

PS> Get-Content file_to_grep | Select-String "the_thing_to_grep_for"

Как вывести строки, которые НЕ this_string?

Ответы [ 3 ]

52 голосов
/ 21 ноября 2011

Строка выбора имеет параметр NotMatch.

get-content file_to_grep | select-string -notmatch "the_thing_to_grep_for"
14 голосов
/ 21 ноября 2011
get-content file_to_grep | select-string "^(?!the_thing_to_grep_for$)"

вернет строки, которые отличаются от the_thing_to_grep_for.

get-content file_to_grep | select-string "^(?!.*the_thing_to_grep_for)"

вернет строки, которые не содержат the_thing_to_grep_for.

4 голосов
/ 22 ноября 2011
gc  file_to_grep | ? {!$_.Contains("the_thing_to_grep_for")}

что, кстати, чувствительно к регистру сравнения.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...