问题描述
有没有办法选择字符串模式,并获得模式后面的行。
我的元数据看起来像:
"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",