it-swarm-ko.tech

PowerShell "문자열에 포함되지 않음"cmdlet 또는 구문이 있습니까?

PowerShell에서 텍스트 파일을 읽습니다. 그런 다음 텍스트 파일에 대해 Foreach-Object를 수행하고 있으며 $arrayOfStringsNotInterestedIn에있는 문자열이없는 행에만 관심이 있습니다.

이것에 대한 문법은 무엇입니까?

   Get-Content $filename | Foreach-Object {$_}
27
Guy

$ arrayofStringsNotInterestedIn이 [array] 인 경우 -notcontains를 사용해야합니다.

Get-Content $FileName | foreach-object { `
   if ($arrayofStringsNotInterestedIn -notcontains $_) { $) }

또는 더 나은 (IMO)

Get-Content $FileName | where { $arrayofStringsNotInterestedIn -notcontains $_}
42
Chris Bilson

-notmatch 연산자를 사용하여 원하는 문자가없는 행을 얻을 수 있습니다.

     Get-Content $FileName | foreach-object { 
     if ($_ -notmatch $arrayofStringsNotInterestedIn) { $) }
10
Mark Schill

$ arrayOfStringsNotInterestedIn에 문자열이 포함 된 줄을 제외하려면 다음을 사용해야합니다.

(Get-Content $FileName) -notmatch [String]::Join('|',$arrayofStringsNotInterestedIn)

Chris가 제안한 코드는 $ arrayofStringsNotInterestedIn에 제외 할 전체 행이 포함 된 경우에만 작동합니다.

1
Bruno Gomes