首页 > 系统相关 >shell jq使用记录

shell jq使用记录

时间:2024-12-25 16:30:27浏览次数:3  
标签:shell 记录 -- json jq JSON fruits data

linux jq 处理字典内的数组 字典 数组

cat  data.json
{
  "fruits": ["apple", "banana", "cherry"]
}

# 获取字典keys
jq  'keys' data.json 

[
  "fruits"
]

# 获取获取字典中数组keys
jq  '.fruits | keys' data.json 
[
  0,
  1,
  2
]

# 获取数组中的第一个元素:

jq '.fruits[0]' data.json
"apple"

# 更新数组中的第二个元素(索引从0开始):

jq '.fruits[1] = "blueberry"' data.json

# 添加一个新的元素到数组:

jq '.fruits += ["date"]' data.json

# 删除数组中的最后一个元素:

jq 'del(.fruits[-1])' data.json

# 遍历数组中的每个元素:

jq '.fruits[]' data.json

# 使用select过滤器选择包含特定元素的数组:

jq '.fruits | select(contains("cherry"))' data.json

# 排序数组:

jq '.fruits | sort' data.json

root@huang:~# jq --help
jq - commandline JSON processor [version 1.6]

Usage: jq [options] [file...]
jq [options] --args [strings...]
jq [options] --jsonargs [JSON_TEXTS...]

jq is a tool for processing JSON inputs, applying the given filter to
its JSON text inputs and producing the filter's results as JSON on
standard output.

The simplest filter is ., which copies jq's input to its output
unmodified (except for formatting, but note that IEEE754 is used
for number representation internally, with all that that implies).

For more advanced filters see the jq(1) manpage ("man jq")
and/or https://stedolan.github.io/jq

Example:

$ echo '{"foo": 0}' | jq .
{
	"foo": 0
}

Some of the options include:
-c compact instead of pretty-printed output;
-n use null as the single input value;
-e set the exit status code based on the output;
-s read (slurp) all inputs into an array; apply filter to it;
-r output raw strings, not JSON texts;
-R read raw strings, not JSON texts;
-C colorize JSON;
-M monochrome (don't colorize JSON);
-S sort keys of objects on output;
--tab use tabs for indentation;
--arg a v set variable $a to value ;
--argjson a v set variable $a to JSON value ;
--slurpfile a f set variable $a to an array of JSON texts read from ;
--rawfile a f set variable $a to a string consisting of the contents of ;
--args remaining arguments are string arguments, not files;
--jsonargs remaining arguments are JSON arguments, not files;
-- terminates argument processing;

Named arguments are also available as $ARGS.named[], while
positional arguments are available as $ARGS.positional[].

See the manpage for more options.

link

官方链接
https://github.com/jqlang/jq

https://jqlang.github.io/jq/

https://jqplay.org/

shell jq教程 json数据处理
https://blog.csdn.net/cumtglad/article/details/139883987

shell jq命令,解析 json 文件
https://www.cnblogs.com/wutou/p/17652012.html

标签:shell,记录,--,json,jq,JSON,fruits,data
From: https://www.cnblogs.com/huangjinbang1996/p/18630809

相关文章

  • adb shell的命令
    发送广播:ambroadcast-a action.xxxx        --eixxx1  广播中的参数为整型    --ezxxxtrue/false      -e extra.xxx  xxx  广播中参数为字串型  详细如下:[-a<ACTION>][-d<DATA_URI>][-t<MIME_TYPE>][-c<C......
  • PySide6-FluentUI-QML 使用记录 python + pyside6 + qml
    PySide6-FluentUI-QML是一个ui库,官网地址为https://github.com/zhuzichu520/FluentUI作用:美化qml文件,快速构建项目简单使用1.pipinstallpyside6安装pyside62.pipinstallPySide6-FluentUI-QML安装PySide6-FluentUI-QML3.加载fluentui##main.pyimportsysimpor......
  • powershell(1)
    声明!学习视频来自B站up主泷羽sec有兴趣的师傅可以关注一下,如涉及侵权马上删除文章,笔记只是方便各位师傅的学习和探讨,文章所提到的网站以及内容,只做学习交流,其他均与本人以及泷羽sec团队无关,切勿触碰法律底线,否则后果自负!!!!有兴趣的小伙伴可以点击下面连接进入b站主页泷羽sec的......
  • 记录:IO流大作业——每日一记
    目录一、项目需求介绍(一)添加界面(二)主界面(三)修改界面二、IO流介绍三、项目实现过程数据操作的实现数据加载的实现(一)添加界面1.初始化界面2.保存按钮的实现3.取消按钮的实现(二)主界面1.初始化界面2.添加功能的实现3.修改功能的实现4.删除功能的实现5.子菜单......
  • 高级jQuery自动补全插件
    jquery.typeahead.js是一款高级的自动补全jQuery插件。该jquery自动补全插件提供超过50个配置选项和回调方法,用于完成自动补全功能,能够完成绝大部分表单自动补全的需求。在线预览 下载             使用方法在页面中引入jquery、jquery.typeah......
  • jquery定时器
    jquery定时器|Id|Title|DateAdded|SourceUrl|PostType|Body|BlogId|Description|DateUpdated|IsMarkdown|EntryName|CreatedTime|IsActive|AutoDesc|AccessPermission||-------------|-------------|-------------|-------------|----------......
  • 查询某条记录在mysql中的行数
    查询某条记录在mysql中的行数|Id|Title|DateAdded|SourceUrl|PostType|Body|BlogId|Description|DateUpdated|IsMarkdown|EntryName|CreatedTime|IsActive|AutoDesc|AccessPermission||-------------|-------------|-------------|-----------......
  • xshell如何传输文件【转】
    xshell如何传输文件【转】|Id|Title|DateAdded|SourceUrl|PostType|Body|BlogId|Description|DateUpdated|IsMarkdown|EntryName|CreatedTime|IsActive|AutoDesc|AccessPermission||-------------|-------------|-------------|-------------|......
  • jquery数字动画插件animationCounter.js
    animationCounter.js是一款小巧的数字动画jquery插件。该jquery数字动画插件可以将数字以动画的方式从一个值变化到另外一个值。它使用简单,兼容ie8浏览器,非常实用。在线预览  下载 使用方法在页面中引入jquery和animationCounter.js文件。<scriptsrc="js/jque......
  • 【总结(三)】单片机重点知识总结记录(串口重定向+按键消抖+延时)
    一.串口重定向串口重定向代码如下注意:要添加头文件include"stdio.h"要勾选微库,即UseMicroLIB/**********重定向************///串口1intfputc(intch,FILE*f){HAL_UART_Transmit(&huart1,(uint8_t*)&ch,1,0xffff);returnch;}intfgetc(FILE*f){......