我正在尝试拆分文本文件中的每一行,并将除拆分之外的所有文本(在文本“TransactResponse”上)输出到另一个文件(ref.txt):
Get-Content C:\Users\Desktop\batches\XpRef\System.*.log | ForEach-Object -Process { $ split("TransactResponse")[1], "multiline" } | Out-File -FilePath C:\Users\Desktop\batches\XpRef\ref.txt
运行此脚本时,不会生成输出文件的文本。
答案 0 :(得分:0)
请参阅上面的评论。 示例代码:
$s=gc C:\temp\t.txt
$s -split 'TransactResponse' | where {$_}
(where子句将过滤空行)
答案 1 :(得分:0)
我会这样做:
Get-Content C:\Users\Desktop\batches\XpRef\System.*.log -ReadCount 1000 |
ForEach-Object {
$_ -Match 'TransactResponse' -replace '.*TransactResponse(.+)','$1' |
Add-Content C:\Users\Desktop\batches\XpRef\ref.txt }
如果所有行都包含该字符串,则可以省略-Match 'TransactResponse'
。