【发布时间】:2021-04-23 09:26:14
【问题描述】:
我怎样才能让它只显示单行,而不是整个对象,就像 bash 中的 grep 一样。
Out-String -Stream 应该将其转换为字符串,我有大量的 jsons 结构,目前我在 python onelines 中进行过滤
Get-Service | Select-Object -Property Name | Where-Object -Property Name -Match "Winrm" |\
ConvertTo-Json | Out-String -Stream | Select-String -SimpleMatch 'Name'
{
"Name": "WinRM"
}
Python oneliner 有点不方便 :-) :
Get-Service | ConvertTo-Json | \
python.exe -c "import sys,re;[sys.stdout.write(l) for l in sys.stdin if re.search(r'WinRM', l)]"
"ServiceName": "WinRM",
"Name": "WinRM",
【问题讨论】:
-
Get-Service -Name "WinRM"? -
您是否正在寻找这样的东西! (Get-Service | Select-Object -Property Name | Where-Object -Property Name -Match "Winrm").Name
-
如果你有json输入,那么你可以使用ConvertFrom-Json获取值。类似于 jq
-
问题是对 json 进行过滤,Get-Service 只是我发现的可以生成 json 的最小示例。
标签: powershell tostring