【发布时间】:2010-04-20 13:44:32
【问题描述】:
我对正在编写的一个小 PowerShell 脚本感到有些沮丧。
基本上,我会遍历文本文件以检查每一行是否与一组正则表达式模式相匹配。 结果通过管道传送到输出文件 cmdlet,该 cmdlet 将其附加到另一个文本文件。
Get-ChildItem $logdir -Recurse -Include @('*.txt') | Get-Content | ForEach-Object {
Select-String $patterns -InputObject $_ | Out-File $csvpath -Append -Width 1000 }
我的问题是我无法通过 out-file 忽略它在 $csvpath 后面的文件中创建的那些额外的换行符(每行后三个)。 我可以使用 .NET 框架类来实现相同的目标,但我宁愿坚持使用纯 PowerShell ;-)
非常感谢任何帮助。
凯文
【问题讨论】:
-
foreach { Select-String -InputObject $_ }?为什么不直接通过管道输入Select-String? -
嗨,Johannes,老实说,我不知道这有什么帮助。
-
这不是您问题的答案(因此对您的问题发表评论并且不是答案);只是说明如何减少命令中的混乱。