Linux jq命令怎么用
发表于:2025-02-05 作者:千家信息网编辑
千家信息网最后更新 2025年02月05日,本篇内容主要讲解"Linux jq命令怎么用",感兴趣的朋友不妨来看看。本文介绍的方法操作简单快捷,实用性强。下面就让小编来带大家学习"Linux jq命令怎么用"吧!Linux常用命令jq命令一个灵
千家信息网最后更新 2025年02月05日Linux jq命令怎么用
本篇内容主要讲解"Linux jq命令怎么用",感兴趣的朋友不妨来看看。本文介绍的方法操作简单快捷,实用性强。下面就让小编来带大家学习"Linux jq命令怎么用"吧!
Linux常用命令jq命令一个灵活的轻量级命令行JSON处理器。
jq
一个灵活的轻量级命令行JSON处理器
补充说明
jq 是 stedolan 开发的一个轻量级的和灵活的命令行JSON处理器,源码请参考 jq 项目主页
jq 用于处理JSON输入,将给定过滤器应用于其JSON文本输入并在标准输出上将过滤器的结果生成为JSON。
最简单的过滤器是.
,它将jq的输入未经修改地复制到其输出中(格式设置除外)。
请注意,jq 当前仅支持64位双精度浮点数(IEEE754)。
安装
# Debian系,如 Ubuntu sudo apt-get install jq # RedHat系, 如 CentOS yum install jq
语法
jq [options][file...] jq [options] --args [strings...] jq [options] --jsonargs [JSON_TEXTS...]
选项
-c 紧凑而不是漂亮的输出; -n 使用`null`作为单个输入值; -e 根据输出设置退出状态代码; -s 将所有输入读取(吸取)到数组中;应用过滤器; -r 输出原始字符串,而不是JSON文本; -R 读取原始字符串,而不是JSON文本; -C 为JSON着色; -M 单色(不要为JSON着色); -S 在输出上排序对象的键; --tab 使用制表符进行缩进; --arg a v 将变量$a设置为value; --argjson a v 将变量$a设置为JSON value; --slurpfile a f 将变量$a设置为从读取的JSON文本数组; --rawfile a f 将变量$a设置为包含内容的字符串; --args 其余参数是字符串参数,而不是文件; --jsonargs 其余的参数是JSON参数,而不是文件; -- 终止参数处理;
例子
.
: 以漂亮的方式输出
$ echo '{ "foo": { "bar": { "baz": 123 } } }' | jq '.' { "foo": { "bar": { "baz": 123 } } }
.foo, .foo.bar, .foo?
: 获取一个键的值
$ echo '{"foo": 42, "bar": "less interesting data"}' | jq '.foo' 42
.[], .[]?, .[2], .[10:15]
: 数组运算
$ echo '[{"name":"JSON", "good":true}, {"name":"XML", "good":false}]' | jq '.[1]' { "name": "XML", "good": false }
[], {}
: 构造一个数组/对象
$ echo '{"user":"stedolan","titles":["JQ Primer", "More JQ"]}' | jq '{user, title: .titles[]}' { "user": "stedolan", "title": "JQ Primer" } { "user": "stedolan", "title": "More JQ" }
length
: 计算一个值的长度
$ echo '[[1,2], "string", {"a":2}, null]' | jq '.[] | length' 2 6 1 0
keys
: 取出数组中的键
$ echo '{"abc": 1, "abcd": 2, "Foo": 3}' | jq 'keys' [ "Foo", "abc", "abcd"]
,
: 使用多个过滤器
$ echo '{ "foo": 42, "bar": "something else", "baz": true}' | jq '.foo, .bar' 42"something else"
|
: 通过管道将一个过滤器的输出当做下一个过滤器的输入
$ echo '[{"name":"JSON", "good":true}, {"name":"XML", "good":false}]' | jq '.[] | .name' "JSON""XML"
select(foo)
: 如果foo返回true,则输入保持不变
$ echo '[1,5,3,0,7]' | jq 'map(select(. >= 2))' [ 5, 3, 7]
map(foo)
: 每个输入调用过滤器
$ echo '[1,2,3]' | jq 'map(.+1)'[ 2, 3, 4]
if-then-else-end
: 条件判断
$ echo '2' | jq 'if . == 0 then "zero" elif . == 1 then "one" else "many" end'"many"
\(foo)
: 在字符串中插入值并进行运算
$ echo '42' | jq '"The input was \(.), which is one less than \(.+1)"' "The input was 42, which is one less than 43"
到此,相信大家对"Linux jq命令怎么用"有了更深的了解,不妨来实际操作一番吧!这里是网站,更多相关内容可以进入相关频道进行查询,关注我们,继续学习!
命令
过滤器
输入
输出
参数
字符
字符串
数组
处理
变量
文本
内容
处理器
轻量
轻量级
原始
漂亮
对象
文件
学习
数据库的安全要保护哪些东西
数据库安全各自的含义是什么
生产安全数据库录入
数据库的安全性及管理
数据库安全策略包含哪些
海淀数据库安全审计系统
建立农村房屋安全信息数据库
易用的数据库客户端支持安全管理
连接数据库失败ssl安全错误
数据库的锁怎样保障安全
飞跃兔出行服务器未响应
网络安全必须从我做起
东莞房掌柜网络技术有限公司
有益网络安全绘画
我的世界多人服务器生存第17期
医院网络安全职能
收录电子期刊年限最早的数据库
互联网科技智能化
北京会议系统服务器厂家
网络安全防护怎么取消
iis管理器 服务器不可用
但丁软件开发公司
java视频服务器
网络兼职网络安全与什么并重
cm0304中等数据库
未来之役2怎么换服务器
数据库学生容金
日光温室数据库
金仓数据库查看视图生成语句
安装路由器无法连接服务器
数据库的可选文件
网络安全四个组成
计算机网络技术精品课程网站
查看数据库表数量
高级算法与数据库
服务器运营环境
大学生网络安全管理制度
涉密文件服务器
事业单位会考网络安全
金仓数据库怎么下载