首页 > 解决方案 > 如何使用 Powershell 中的 Context 选项从 Select-String 结果中删除文件名?

问题描述

如果没有-Context选项,我可以很容易地在select line没有结果的情况下filename进行选择Select-StringSelect-String -Context x,y但是当我使用选项时,情况并非如此。

有没有办法从上下文行中隐藏文件名?

标签: powershell

解决方案


不,您也可以运行Select-String -context x,y ... | select line,向 提供-context参数Select-String,但您将在输出中完全省略相关上下文。

您似乎希望覆盖MatchInfo::ToString()使用行写入文件名的默认行为。你可以这样做:

Select-String -Context x,y .... |
  % {$_.context.precontext;$_.line;$_.context.postcontext}

这将输出一组带有未标记匹配行的字符串,但这应该让您开始格式化输出Select-String


推荐阅读