jq 命令备忘

jq 命令常用语法

demo数据

[
{
"name": "user_b75b",
"password": "UC9NxVUzfEVq",
"instance_id": "rm-3aa3c7a51c6d6491d2421822"
},
{
"name": "user_fc4a",
"password": "aCaOv4dVUJZq",
"instance_id": "rm-f8c961d56d0ed26b2b9bdac9"
},
{
"name": "user_bedb",
"password": "G8Hh7WE6eod9",
"instance_id": "rm-3aa3c7a51c6d6491d2421822"
},
{
"name": "user_014a",
"password": "xJdm4reHulN7",
"instance_id": "rm-3aa3c7a51c6d6491d2421822"
},
{
"name": "user_233f",
"password": "qSHQ1jB5FoRi",
"instance_id": "rm-3aa3c7a51c6d6491d2421822"
},
{
"name": "user_9107",
"password": "JI2beRoFe4rd",
"instance_id": "rm-f8c961d56d0ed26b2b9bdac9"
},
{
"name": "user_d749",
"password": "i97nApqLQGh6",
"instance_id": "rm-f8c961d56d0ed26b2b9bdac9"
},
{
"name": "user_3f74",
"password": "K93TwUncyeJZ",
"instance_id": "rm-f8c961d56d0ed26b2b9bdac9"
}
]

获取name和password字段

get -o json |jq '.[]|{name,password}'
{
"name": "user_b75b",
"password": "UC9NxVUzfEVq"
}
省略
{
"name": "user_3f74",
"password": "K93TwUncyeJZ"
}

获取name字段

get -o json |jq '.[].name'
"user_b75b"
"user_fc4a"
"user_bedb"
"user_014a"
"user_233f"
"user_9107"
"user_d749"
"user_3f74"

获取 user_3f74 用户的密码

get -o json |jq '.[]|select(.name=="user_3f74").password'
"K93TwUncyeJZ"

将name的值转为切片

get -o json |jq 'map(.name)'
[
"user_b75b",
"user_fc4a",
"user_bedb",
"user_014a",
"user_233f",
"user_9107",
"user_d749",
"user_3f74"
]

获取name:password格式的值

get -o json |jq 'reduce .[] as $items ({}; .[$items.name]=$items.password)'
{
"user_b75b": "UC9NxVUzfEVq",
"user_fc4a": "aCaOv4dVUJZq",
"user_bedb": "G8Hh7WE6eod9",
"user_014a": "xJdm4reHulN7",
"user_233f": "qSHQ1jB5FoRi",
"user_9107": "JI2beRoFe4rd",
"user_d749": "i97nApqLQGh6",
"user_3f74": "K93TwUncyeJZ"
}

替换第一个name的值为liy

_name = "liy" #
get -o json |jq --arg name $_name '.[0].name = $name'
[
{
"name": "liy",
"password": "UC9NxVUzfEVq",
"instance_id": "rm-3aa3c7a51c6d6491d2421822"
},
{
"name": "user_fc4a",
"password": "aCaOv4dVUJZq",
"instance_id": "rm-f8c961d56d0ed26b2b9bdac9"
},
{
"name": "user_bedb",
"password": "G8Hh7WE6eod9",
"instance_id": "rm-3aa3c7a51c6d6491d2421822"
},
{
"name": "user_014a",
"password": "xJdm4reHulN7",
"instance_id": "rm-3aa3c7a51c6d6491d2421822"
},
{
"name": "user_233f",
"password": "qSHQ1jB5FoRi",
"instance_id": "rm-3aa3c7a51c6d6491d2421822"
},
{
"name": "user_9107",
"password": "JI2beRoFe4rd",
"instance_id": "rm-f8c961d56d0ed26b2b9bdac9"
},
{
"name": "user_d749",
"password": "i97nApqLQGh6",
"instance_id": "rm-f8c961d56d0ed26b2b9bdac9"
},
{
"name": "user_3f74",
"password": "K93TwUncyeJZ",
"instance_id": "rm-f8c961d56d0ed26b2b9bdac9"
}
]
posted @   liy36  阅读(12)  评论(0编辑  收藏  举报
相关博文:
阅读排行:
· winform 绘制太阳,地球,月球 运作规律
· AI与.NET技术实操系列(五):向量存储与相似性搜索在 .NET 中的实现
· 超详细:普通电脑也行Windows部署deepseek R1训练数据并当服务器共享给他人
· 【硬核科普】Trae如何「偷看」你的代码?零基础破解AI编程运行原理
· 上周热点回顾(3.3-3.9)
点击右上角即可分享
微信分享提示