You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

如何在PowerShell与Bash中提取JSON的scope和pathSpec并按指定格式输出?

解决方案

先假设你的JSON结构类似这样(匹配你预期输出的示例):

[
  {
    "scope": "file",
    "pathSpec": "/u01/app/grid/*/bin/oracle"
  },
  {
    "scope": "directory",
    "pathSpec": "/u01/app/oracle/admin"
  }
]

Bash(jq)实现

你之前的jq命令是分开遍历两个字段,所以输出会各自独立。要让每个对象的scope和pathSpec对应输出,直接遍历数组内的每个元素,拼接两个字段即可:

jq -r '.[] | "\(.scope) \(.pathSpec)"' jsonfilepath
  • -r参数让jq输出原始字符串(不带JSON格式的引号)
  • .[]遍历数组中的每个对象
  • "\(.scope) \(.pathSpec)"将当前对象的两个字段拼接成你需要的格式

PowerShell实现

用PowerShell的ConvertFrom-Json把JSON转成对象,再循环输出拼接后的内容:

Get-Content -Path "jsonfilepath" | ConvertFrom-Json | ForEach-Object {
    "$($_.scope) $($_.pathSpec)"
}
  • Get-Content读取JSON文件内容
  • ConvertFrom-Json把JSON字符串转换为PowerShell对象数组
  • ForEach-Object遍历每个对象,通过字符串插值拼接scope和pathSpec字段

内容的提问来源于stack exchange,提问作者LEFBE

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.08.22 17:18:10