电源壳 | select-字符串模式+模式下的行
powershell | select-string pattern + line unter the pattern
有没有办法 select 一个字符串模式,并且还得到模式后面的行。
我的元数据看起来像:
"t": "d",
"n": "00001212",
"22.06.2031",
"",
"",
"batman",
我的代码行看起来像:
$contentNameFolder= $content__ | Select-String -Pattern '"n": * '
我的输出看起来像:
"n": "00001212",
我想得到的是:
"n": "00001212",
"22.06.2031",
我试图将 -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",
有没有办法 select 一个字符串模式,并且还得到模式后面的行。
我的元数据看起来像:
"t": "d",
"n": "00001212",
"22.06.2031",
"",
"",
"batman",
我的代码行看起来像:
$contentNameFolder= $content__ | Select-String -Pattern '"n": * '
我的输出看起来像:
"n": "00001212",
我想得到的是:
"n": "00001212",
"22.06.2031",
我试图将 -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",