我有一个大型日志文件,我想提取某些类型的行。我创建了一个匹配这些行的正则函数。我现在如何使用此正则表达式提取线条而不是其他内容?我试过了
Action
哪个几乎有效,但不感兴趣的线仍然是空行(意思是感兴趣的行间隔很远)。
答案 0 :(得分:3)
最好的方法是完全删除else
条款。如果这样做,那么将不会从ForEach-Object
块的迭代返回任何对象。
cat .\file | %{
if($_ -match "..."){
$_ -replace "...", '...'
}
}
答案 1 :(得分:1)
只是追加briantist's answer你甚至不需要循环结构。 -match
和-replace
将用作数组运算符。无需if
和ForEach-Object
。
(Get-Content .\file) -match "..." -replace "...","..."
Get-Content
是别名cat