Linux CLI – 如何从JSON jq grep获取子串?

我需要从 JSON中提取子字符串.在下面的 JSON文档中,我需要结束值jq’.[].networkProfile.networkInterfaces [] .id’换句话说,我只需要将A10NICvw4konls2vfbw-data传递给另一个命令.我似乎无法弄清楚如何使用grep拉出子串.我在那里似乎是正则表达式的例子但是没有成功.

[
  {
    "id": "/subscriptions/blah/resourceGroups/IPv6v2/providers/Microsoft.Compute/virtualMachines/A10VNAvw4konls2vfbw","instanceView": null,"licenseType": null,"location": "centralus","name": "A10VNAvw4konls2vfbw","networkProfile": {
      "networkInterfaces": [
        {
          "id": "/subscriptions/blah/resourceGroups/IPv6v2/providers/Microsoft.Network/networkInterfaces/A10NICvw4konls2vfbw-data","resourceGroup": "IPv6v2"
        }
      ]
    }
  }
]

解决方法

在你的情况下,sub(“.* /”;“”)将起作用,因为*是贪婪的:

.[].networkProfile.networkInterfaces[].id | sub(".*/";"")

相关文章

/etc/sysctl.conf这个目录主要是配置一些系统信息,/etc/sys...
1.作用 useradd或adduser命令用来建立用户帐号和创建用户的起...
它们都是多模式编辑器,不同的是vim 是vi的升级版本,它不仅...
不管是我们在安装软件还是监测软件的使用性能,我们都要随时...
装好Tomcat7后,发现除了本机能访问外界访问不了,岂有此理。...
修改防火墙配置需要修改 /etc/sysconfig/iptables 这个文件,...