在 PowerShell 中,我正在阅读一个文本文件。然后我在文本文件上做一个 Foreach-Object 并且只对不包含$arrayOfStringsNotInterestedIn
.
这个的语法是什么?
Get-Content $filename | Foreach-Object {$_}
在 PowerShell 中,我正在阅读一个文本文件。然后我在文本文件上做一个 Foreach-Object 并且只对不包含$arrayOfStringsNotInterestedIn
.
这个的语法是什么?
Get-Content $filename | Foreach-Object {$_}
如果 $arrayofStringsNotInterestedIn 是一个 [array] 你应该使用 -notcontains:
Get-Content $FileName | foreach-object { `
if ($arrayofStringsNotInterestedIn -notcontains $_) { $) }
或更好(IMO)
Get-Content $FileName | where { $arrayofStringsNotInterestedIn -notcontains $_}
您可以使用 -notmatch 运算符来获取没有您感兴趣的字符的行。
Get-Content $FileName | foreach-object {
if ($_ -notmatch $arrayofStringsNotInterestedIn) { $) }
要排除包含 $arrayOfStringsNotInterestedIn 中任何字符串的行,您应该使用:
(Get-Content $FileName) -notmatch [String]::Join('|',$arrayofStringsNotInterestedIn)
Chris 提出的代码仅在 $arrayofStringsNotInterestedIn 包含您要排除的完整行时才有效。