外壳|选择字符串模式 + 模式下的行

问题描述

有没有办法选择字符串模式,并获得模式后面的行。

我的元数据看起来像:

"t": "d","n": "00001212","22.06.2031","","batman",

我的代码如下:

$contentNameFolder= $content__ | Select-String -Pattern '"n": * ' 

我的输出看起来像:

"n": "00001212",

我想得到的是:

"n": "00001212",

我试图在我的代码添加 -context 1,2 或类似的东西,但这对我不起作用。

解决方法

你已经接近了。正如您已经看到的,Select-String 具有 -Context 参数,它允许您指定应显示的匹配前后的行。

如果传入一个包含两个整数的数组,第一个数字确定匹配前的行,第二个数字确定匹配后的行(参见:Select-String | Microsoft Docs)。

如果您不想在匹配之前显示任何行,请将第一个整数设置为 0

$contentNameFolder= $content__ | Select-String -Pattern '"n": * ' -Context 0,1

在您的示例中,这将为您提供以下结果:

"n": "00001212","22.06.2031",