Ответ 1
Я не уверен, что это можно сделать без foreach-object
, но это работает:
gci |foreach-object{if (-not (select-string -inputobject $_ -Pattern "something")){$_}}
Я пытаюсь найти все файлы, которые не содержат выбранную строку. Найти файлы, которые содержат легко:
gci | select-string "something"
но у меня нет идеи, как отменить это утверждение.
Я не уверен, что это можно сделать без foreach-object
, но это работает:
gci |foreach-object{if (-not (select-string -inputobject $_ -Pattern "something")){$_}}
Вы можете использовать Where-Object
;
gci | Where-Object { !( $_ | Select-String "something" -quiet) }
Как упоминать в Как выводить строки, не соответствующие 'this_string', используя Get-Content и Select-String в PowerShell?
Select-String имеет параметр NotMatch
.
Итак, вы можете использовать его:
gci | Select-String -notmatch "something"