Linux jq命令怎么用
发表于:2026-11-03 作者:千家信息网编辑
千家信息网最后更新 2026年11月03日,本篇内容主要讲解"Linux jq命令怎么用",感兴趣的朋友不妨来看看。本文介绍的方法操作简单快捷,实用性强。下面就让小编来带大家学习"Linux jq命令怎么用"吧!Linux常用命令jq命令一个灵
千家信息网最后更新 2026年11月03日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 0keys: 取出数组中的键
$ 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安全错误
数据库的锁怎样保障安全
咖啡网
互联网科技开发公司
互联网的科技创新
互联网金融公司科技
期待互联网科技
中国互联网科技发展
互联网科技的英文
互联网科技logo设计
互联网 新科技
互联网科技英文翻译
互联网科技大会案例
华中科技有哪些互联网大佬
农村开互联网科技讲堂
重庆威客帮互联网科技
现代互联网科技股
想开互联网科技公司怎么样
西安小鹰速贷互联网科技有限公司
21世纪互联网科技成就
互联网科技创新创业项目
长沙易易互联网科技有限公司
九亚互联网科技
小马过河互联网科技
银优互联网科技有限公司
奇酷互联网络科技公司
有木互联网科技
友谊互联网络科技
互联网5g黑科技有哪些
健康食品互联网创新科技园项目
易租星互联网科技有限公司
互联网科技博主张洲