aws-cli - 将 JSON 解析为 jq 以从 AWS CLI 获取列表

标签 aws-cli jq

我想获得一个任务定义列表,我可以通过 AWS CLI 创建一个列表。这是命令中的部分列表;
aws ecs list-task-definitions --region eu-west-1

{
    "taskDefinitionArns": [
        "arn:aws:ecs:eu-west-1:543573289192:task-definition/audience-view-dev-api:4", 
        "arn:aws:ecs:eu-west-1:543573289192:task-definition/audience-view-dev-groups:4", 
        "arn:aws:ecs:eu-west-1:543573289192:task-definition/audience-view-dev-groups:5", 
        "arn:aws:ecs:eu-west-1:543573289192:task-definition/audience-view-dev-mock-api:1", 
        "arn:aws:ecs:eu-west-1:543573289192:task-definition/audience-view-dev-mock-responder:1"
    ]
}

从这里我只想展示;
audience-view-dev-api
audience-view-dev-groups
audience-view-dev-groups
audience-view-dev-mock-api
audience-view-dev-mock-responder

我相信如果我通过管道将其发送至 jq那么我可以得到我想要的东西吗?我正在尝试各种组合; aws ecs list-task-definitions --region eu-west-1 | jq -r '.taskDefinitionArns[].<something_here>'无济于事

最佳答案

尝试这个:

$ aws ecs list-task-definitions --region eu-west-1 \
  | jq -Mr '.taskDefinitionArns[] | split(":")[5] | split("/")[1]'

扩展:
  .taskDefinitionArns[]     # for each taskDefinitionArns
| split(":")[5]             # take entry [5] after splitting by :
| split("/")[1]             # take entry [1] after splitting by /

关于aws-cli - 将 JSON 解析为 jq 以从 AWS CLI 获取列表,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/46832763/

相关文章:

amazon-web-services - 错误解析参数 '--expression-attribute-values' : Invalid JSON: Expecting property name enclosed in double quotes: line 1 column 3 (char 2)

amazon-web-services - 无法通过 AWS CLI 连接到本地 DynamoDb 实例

json - jq 将文件内容添加到 json 中并更新

json - 如何使用 jq 递归地将函数应用于记录结构中的所有字符串

arrays - jq: 无法用字符串 "id"索引数组

amazon-web-services - 如果更新已经发生,我如何重试 AWS CloudFormation 更新?

powershell - 在foreach Powershell中添加值

python - 如何获取 Auto Scaling 组中实例的 IP

json - JQ首场比赛后停赛

json - 如何使用 jq 将此字符串转换为 JSON?