Powershell删除除包含某些字符串的行以外的所有行

时间:2017-09-18 18:33:08

标签: powershell csv search edit

我可以使用书签和其他Notepad ++功能逐个执行此操作,但我会经常这样做以编辑文档。我已经使用下面的powershell来删除除了包含某个字符串的那些行以外的所有行,但我怎么做呢,比方说50个字符串。

$SourceFile = 'C:\PATH\TO\FILE.csv'
$Pattern = 'word||'

(Get-Content $SourceFile) | % {if ($_ -match $Pattern){$_}} | Set-Content $SourceFile

1 个答案:

答案 0 :(得分:1)

我猜你的例子$Match应为$Pattern

您可以在模式中指定多个关键字,如下所示:

$SourceFile = 'C:\PATH\TO\FILE.csv'
$Pattern = 'word|excel|powerpoint'

(Get-Content $SourceFile) | Where-Object { $_ -match $Pattern } | Set-Content $SourceFile