在PowerShell中,我正在阅读文本文件。 我正在对文本文件执行Foreach-Object,并且只对不包含$arrayOfStringsNotInterestedIn
字符串的行感兴趣。
这是什么语法?
Get-Content $filename | Foreach-Object {$_}
在PowerShell中,我正在阅读文本文件。 我正在对文本文件执行Foreach-Object,并且只对不包含$arrayOfStringsNotInterestedIn
字符串的行感兴趣。
这是什么语法?
Get-Content $filename | Foreach-Object {$_}
如果$ arrayofStringsNotInterestedIn是[数组],你应该使用-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)
如果$ arrayofStringsNotInterestedIn包含要排除的整行,则Chris提出的代码才有效。