从shell脚本中的字符串引号json中获取值

guicsvcw  于 2023-08-07  发布在  Shell
关注(0)|答案(1)|浏览(123)

manifest.json将有以下内容

{
  "builds": [
    {
      "name": "golden-image",
      "builder_type": "amazon-ebs",
      "build_time": 1689613460,
      "files": null,
      "artifact_id": "us-east-1:ami-1234567890abc,us-west-2:ami-0987654321abc”,
      "packer_run_uuid": “test-uuid”,
      "custom_data": null
    }
  ]
}

字符串
我可以通过运行下面的命令来获取artifact_id的值:

export AMI_ID=$(cat manifest.json| jq -r '.builds[0].artifact_id')


AMI_ID将具有字符串“us-east-1:ami-1234567890 abc,us-west-2:ami-0987654321 abc”中的值
现在,我想得到的价值只有us-east-1使用 shell ,请建议

5anewei6

5anewei61#

我能够从下面的命令中获得给定的区域AMI ID

region=${us-east-1}
export AMI_ID=${${$(cat manifest.json| jq -r '.builds[0].artifact_id')#*$region:}%*,*}

字符串

相关问题