专业IT网络知识平台,分享IT百科知识、生活百科知识解答!

易企推科技
易企推科技

jq命令怎么用,jq命令用法

来源:小易整编  作者:小易  发布时间:2023-03-28 05:06
摘要:jq命令怎么用,jq命令用法jq介绍jq是stedolan开发的一个轻量级的和灵活的命令行JSON处理器。它主要用于在命令行界面处理JSON输入,并使用给定的过滤条件来过滤符合条件的新的JSON串。通常在类Unix环境下,我们可以快速的使用...
  • values, scalars: 分别只选择数组、对象、可迭代对象 (数组或对象)、布尔值、数字、普通数字、有限数字、字符串、空值、非空值和不可迭代对象的输入。
  • add: 过滤器 add 接受一个数组作为输入,并将数组的元素加在一起作为输出。这可能意味着根据输入数组元素的类型进行求和、连接或合并 —— 规则与上面描述的 + 运算符的规则相同。
  • any,all: 从数组或者列表中判断是否存在或者全部存在
  • range: 对象生成器
  • floor: 输出数字的低阶值
  • sqrt: 求开方
  • tonumber: 字符串转数字
  • tostring: 数字转字符串
  • type: 获取元素类型
  • sort,sort_by(path_expssion): 排序
  • unique, unique_by(path_exp): 去重
  • reverse: 反转
  • contains(element): 判断是否包含
  • startswith(str): 判断前缀
  • endswith(str): 判断后缀
  • split(str): 字符串转列表
  • join(str): 列表转字符串
  • while(cond; update): 条件判断
  • until(cond; next): 条件判断
  • \(foo): 引用 foo 的值
  • tojson,fromjson: 从原始字符串转到 json 或者从 json 转到原始字符串
  • @base64,@base64d: base64 编码和解码
  • @uri,@csv, 生成 uri,以及表格格式

## 模版数据 $ testJson='{"Name":"CloudNativeOps","Owner":"GoOps","WebSite":"https://bgbiao.top/", "Contact": {"Email":"weichuangxxb@qq.com","QQ":"371990778","WeChat":"GoOps"} ,"Skills": [ {"name":"Python","type":"dev" }, {"name":"Golang","type":"dev" },{"name":"Ansible","type":"ops" },{"name":"Kubernetes","type":"dev" },{"name":"ElasticSearch","type":"ops" }]}' ### keys $ echo ${testJson} | jq 'keys' [  "Contact",  "Name",  "Owner",  "Skills",  "WebSite" ] $ echo ${testJson} | jq 'keys_unsorted' [  "Name",  "Owner",  "WebSite",  "Contact",  "Skills" ] ### has(key) $ echo ${testJson} | jq '.Skills | map(has("name"))' [  true,  true,  true,  true,  true ] $ echo ${testJson} | jq 'has("Name") ' true ### to_entries, from_entries, with_entries $  echo ${testJson} | jq '.Contact | to_entries' [  {    "key": "Email",    "value": "weichuangxxb@qq.com"  },  {    "key": "QQ",    "value": "371990778"  },  {    "key": "WeChat",    "value": "GoOps"  } ] ### select(bool_exp) ### 输出技能中包含 Ansible 的技能项 $ echo ${testJson} | jq '.Skills[] | select(.name == "Ansible")' {  "name": "Ansible",  "type": "ops" } ### tonumber $  echo ${testJson} |jq '.Contact.QQ | tonumber ' 371990778 $ echo ${testJson} |jq '.Contact.QQ ' "371990778" ### tostring/fromjson $ echo ${testJson} |jq '.Contact | tostring' "{\"Email\":\"weichuangxxb@qq.com\",\"QQ\":\"371990778\",\"WeChat\":\"GoOps\"}" $ echo ${testJson} |jq '.Contact | tostring | fromjson' {  "Email": "weichuangxxb@qq.com",  "QQ": "371990778",  "WeChat": "GoOps" } ### @base64/@base64d $ echo ${testJson} |jq '.Contact | .QQ | @base64 | @base64d' "371990778" ### @uri $ echo ${testJson} | jq '.Skills[] | select(.name == "Ansible") | @uri "https://www.google.com/search?q=\(.name)"' "https://www.google.com/search?q=Ansible"

2.5 示例

# 通过接口返回数据进行过滤查找 curl -s  http://goops.top:8080/vpc/api | jq '.returnData.detail[] | select(.ipType == 41)'


本文地址:IT百科频道 https://www.hkm168.com/tags/942831_3.html,易企推百科一个免费的知识分享平台,本站部分文章来网络分享,本着互联网分享的精神,如有涉及到您的权益,请联系我们删除,谢谢!

共3页 1 2 3 当前是最后一页

IT百科
小编:小易整编
相关文章相关阅读
  • 什么是Linux系统中nc命令?nc命令的用法详解

    什么是Linux系统中nc命令?nc命令的用法详解

    这篇文章主要介绍了linux系统中nc命令的基本用法,nc命令非常之强大,这里先简单介绍它用来作端口扫描以及文件传输等的基础使用。功能说明:功能强大的网络工具,在网络工具中有“瑞士军刀”美誉,其有Windows和Linux的版本。因为它短小...

  • cmd命令怎么打开?

    cmd命令怎么打开?

    cmd命令的打开方法:1、在电脑桌面中使用“win+r”组合键,打开的“运行”窗口,输入“cmd”命令并回车即可打开;2、打开“开始”菜单,在搜索框中输入“cmd”,点击“cmd.exe”即可打开。CMD一般指命令提示符,命令提示符是在操作...

  • linux命令ls是什么意思

    linux命令ls是什么意思

    在linux中,ls全称“list”,中文意思为“列表”,其主要功能是显示指定工作目录下的内容(列出工作目录所含之文件及子目录),也可以查看文件权限,语法“ls[选项]目录名称”。当ls命令不使用任何选项时,默认只会显示非隐藏文件的名称...

  • 数据库的substr函数用法是什么

    数据库的substr函数用法是什么

    数据库的substr函数用法:1、【substr(str,pos,len)】从pos开始的位置,截取len个字符;2、【substr(str,pos)】pos开始的位置,一直截取到最后。数据库的substr函数用法:1、SUBSTR(st...

  • c语言中pow函数的用法是什么?

    c语言中pow函数的用法是什么?

    在c语言中pow()函数是用来求x的y次幂。x、y及函数值都是double型,其语法为“doublepow(doublex,doubley)”;其中参数“doublex”表示底数;参数“doubley”表示指数。pow()函数...

  • c语言中fun用法详解

    c语言中fun用法详解

    c语言中fun用法详解fun函数是自定义的C/C++语言函数,函数功能多样。该函数名为“函数”英文function的简写,一般在示例和试题中使用,通常在主函数中被调用。C/C++语言中,fun函数通常被主函数所调用。它是指用fun来定义一个...

  • linux 命令mkdir执行什么

    linux 命令mkdir执行什么

    linux命令mkdir执行创建目录,该命令是创建由dirname命名的目录,如果在目录名的前面没有加任何路径名,则在当前目录下创建由dirname指定的目录;如果给出了一个已经存在的路径,将会在该目录下创建一个指定的目录。本教程操作环境:...

  • matlab中zeros函数用法

    matlab中zeros函数用法

    matlab中zeros函数是用于返回一个double类零矩阵,其用法是:1、在命令行窗口中输入“b=zeros(5)”,按回车键可生成一个“5*5”的零矩阵;2、在命令行窗口中输入“b=zeros(3,4)”,并按回车键即可。zeros函...

  • 周排行
  • 月排行
  • 年排行

精彩推荐