25 windows-7 script powershell
所以我有几个大文本文件需要整理,并删除所有出现的包含给定关键字的行。所以基本上,如果我有这些行:
这不是测试
这是测试
可能是测试
绝对不是测试
我用“not”运行脚本,我需要完全删除第 1 行和第 4 行。
我一直在尝试:
PS C:\Users\Admin> (Get-Content "D:\Logs\co2.txt") |
Foreach-Object {$_ -replace "3*Program*", ""} |
Set-Content "D:\Logs\co2.txt"
Run Code Online (Sandbox Code Playgroud)
但它只替换“程序”而不是整行。
but*_*oxa 29
这是我会做的:
Get-Content .\in.txt | Where-Object {$_ -notmatch 'not'} | Set-Content out.txt
Run Code Online (Sandbox Code Playgroud)
Snark 的代码行也是如此,但它首先将所有文件加载到一个数组中,这对于大文件的内存来说可能是有问题的。
这将起作用:
(Get-Content "D:\Logs\co2.txt") -notmatch "not" | Out-File "D:\Logs\co2.txt"
Run Code Online (Sandbox Code Playgroud)
| 归档时间: |
|
| 查看次数: |
125537 次 |
| 最近记录: |