如果与正则表达式不匹配,则从文件中删除行

时间:2015-07-17 10:56:58

标签: regex powershell

对于目录中的每个文件,我希望使用powershell删除与正则表达式匹配的行(例如,以| B开头)。

我想我可以通过目录上的Get-ChildItem,foreach-object,get-content和某种if -match来做到这一点,但我真的很难将它们整合在一起。

任何帮助都会受到大力赞赏。这是我第一次编写PowerShell脚本。

1 个答案:

答案 0 :(得分:3)

如下所示应该让你朝着正确的方向前进

$files = Get-ChildItem "C:\your\dir"

foreach ($file in $files) {
  $c = Get-Content $file.fullname | where { $_ -notmatch "^\|B" }
  $c | Set-Content $file.fullname
}