Jq工具操作json随记:修订间差异
来自三线的随记
小无编辑摘要 |
小无编辑摘要 |
||
(未显示同一用户的1个中间版本) | |||
第1行: | 第1行: | ||
* jq是一款非常强大的用于处理json的工具 ([https:// | * jq是一款非常强大的用于处理json的工具 ([https://jqlang.github.io/jq/manual/ official doc]) | ||
=== 利用jq批量解码docker login内容 === | === 利用jq批量解码docker login内容 === | ||
第5行: | 第5行: | ||
=== 利用 jq 只输出匹配value 的数组 === | === 利用 jq 只输出匹配value 的数组 === | ||
全匹配: | |||
select(boolean_expression) | select(boolean_expression) | ||
echo '{"name":"andy.zhou","source":"LDAP-ldap"}{"name":"annie.chen","source":"123333"}' | jq 'select (.source=="LDAP-ldap")' | echo '{"name":"andy.zhou","source":"LDAP-ldap"}{"name":"annie.chen","source":"123333"}' | jq 'select (.source=="LDAP-ldap")' | ||
忽略大小写泛匹配: | 忽略大小写泛匹配: | ||
test(val), test(regex; flags) | |||
echo '{"name":"andy.zhou","source":"LDAP-ldap"}{"name":"annie.chen","source":"123333"}' | jq 'select (.source | test("ldap";"i"))' | echo '{"name":"andy.zhou","source":"LDAP-ldap"}{"name":"annie.chen","source":"123333"}' | jq 'select (.source | test("ldap";"i"))' | ||
=== | === 利用jq去除不需要的内容重新组成 jq === | ||
echo '{"name":"andy.zhou","source":"LDAP-ldap","test":"1111111"}' | jq '.|{name, test}' | echo '{"name":"andy.zhou","source":"LDAP-ldap","test":"1111111"}' | jq '.|{name, test}' | ||
=== 将多个 json 对象合并为一个数组 === | |||
echo '{"name":"name1","source":"LDAP-ldap","test":"1111111"}{"name":"name2","source":"LDAP-ldap","test":"1111111"}' | jq -s '.|map({name, test})' | |||
[[Jq修改docker-daemon.json开启关闭live-restore]] | [[Jq修改docker-daemon.json开启关闭live-restore]] | ||
[[使用jq批量修改es_index_template的lifecycle配置]] | [[使用jq批量修改es_index_template的lifecycle配置]] | ||
[[分类:Linux]] | [[分类:Linux]] |
2024年7月17日 (三) 14:57的最新版本
- jq是一款非常强大的用于处理json的工具 (official doc)
利用jq批量解码docker login内容
jq -r ".auths | .[].auth|@base64d" ~/.docker/config.json
利用 jq 只输出匹配value 的数组
全匹配:
select(boolean_expression)
echo '{"name":"andy.zhou","source":"LDAP-ldap"}{"name":"annie.chen","source":"123333"}' | jq 'select (.source=="LDAP-ldap")'
忽略大小写泛匹配:
test(val), test(regex; flags)
echo '{"name":"andy.zhou","source":"LDAP-ldap"}{"name":"annie.chen","source":"123333"}' | jq 'select (.source | test("ldap";"i"))'
利用jq去除不需要的内容重新组成 jq
echo '{"name":"andy.zhou","source":"LDAP-ldap","test":"1111111"}' | jq '.|{name, test}'
将多个 json 对象合并为一个数组
echo '{"name":"name1","source":"LDAP-ldap","test":"1111111"}{"name":"name2","source":"LDAP-ldap","test":"1111111"}' | jq -s '.|map({name, test})'