当我使用时,select-string
我几乎总是希望我的输出对齐,即文件名、行号和找到的文本都应该对齐到列中。从视觉上看,它不会分散注意力,并且通常可以更容易地发现差异。作为一个简单的例子,我在中间文件中注入了一个额外的空间:
PS> Get-ChildItem *.cs | Select-StringAligned -pattern override
---
FileWithQuiteALengthyName.cs : 34: protected override void Foo()
ShortName.cs : 46: protected override void Bar()
MediumNameFileHere.cs :123: protected override void Baz()
---
不幸的是,Select-String
没有这样做;实际上它给出了这个——你能发现这里的额外空间吗?
PS> Get-ChildItem *.cs | Select-String -pattern override
---
FileWithQuiteALengthyName.cs:34: protected override void Foo()
ShortName.cs:46: protected override void Bar()
MediumNameFileHere.cs:123: protected override void Baz()
---
有没有办法强制Select-String
对齐其输出列?
编辑:哎呀!我忘记了一个重要部分:如果可能的话,我还想包含该-Context
参数,以便可以在比赛前后获得任意数量的行。