这里有一个最小化的复现示例。
期望结果:
期望结果:
PS C:\> ("a", "b")
a
b
PS C:\> ("a", "b") | Select-String "b"
b
PS C:\>
实际结果:
PS C:\> ("a", "b")
a
b
PS C:\> ("a", "b") | Select-String "b"
b
PS C:\>
正如您所看到的,第二个输出在匹配行前有一个空行,在匹配行后有两个空行。
为什么会这样?我该怎么办?
(注意:这只是一个最简示例。在我的实际代码中,我正在解析svn status
输出未提交的文件,并且我遇到了同样的多余换行问题。)
| Select-Object -ExpandProperty Line
将其导出以去除换行符,但我不知道为什么它会添加换行符,所以我会等待其他人的答案... - ShaneisSelect-String
会隐式地执行Format-*
吗? :O - ShaneisOut-Default
命令有隐式版本的Format-*
。 - user4003407findstr
和grep
易于使用的替代品,这仍然是一种不幸的默认格式选择。 - Heinzi