对于目录中的每个文件,我希望使用 powershell 删除与正则表达式匹配的行(例如以 |B 开头)。
我想我可以通过目录上的 Get-ChildItem、foreach-object、get-content 和某种 if -match 来完成此操作,但我真的很难将它们组合在一起。
任何帮助将不胜感激。这是我第一次编写 powershell 脚本。
最佳答案
像下面这样的东西应该会让你走向正确的方向
$files = Get-ChildItem "C:\your\dir"
foreach ($file in $files) {
$c = Get-Content $file.fullname | where { $_ -notmatch "^\|B" }
$c | Set-Content $file.fullname
}
关于regex - 如果不匹配正则表达式,则从文件中删除行,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/31474233/