linux arg 参数,jq的--arg参数用法
jq的--arg参数用法
--arg
这是最基本的参数
--arg name value
含义是定义变量$name的值为"value"。
注意这里的value是安装字符串处理的,所以即使是数字值,也是数字串,例如--arg v 123,那么$v=="123"。
举个例子:
$ echo '{"AA":"aa","BB":"bb"}' | jq --arg v XX '.BB=$v'
{
"AA": "aa",
"BB": "XX"
}
举一个数字的例子:
$ echo '{"AA":"aa","BB":"bb"}' | jq --arg v 123 '.CC=$v'
{
"AA": "aa",
"BB": "bb",
"CC": "123"
}
显然数字被按照字符串处理啦,这里没有别的办法只能使用类型转化:
$ echo '{"AA":"aa","BB":"bb"}' | jq --arg v 123 '.CC=($v|tonumber)'
{
"AA": "aa",
"BB": "bb",
"CC": 123
}
参数--arg最常用的场景也就是这里,试想上述例子,如果不用--arg如何替换字段"BB"的值呢:
J='{"AA":"aa","BB":"bb"}'
V="vv"
#echo ${J} | jq '.BB=$V'
echo ${J} | jq '.BB="'$V'"'
echo ${J} | jq --arg v ${V} '.BB=$v'
从词法表达式看使用--arg显得更为简洁。
使用多个参数
J='{"AA":"aa","BB":"bb"}'
V1="vv"
V2="ww"
echo ${J} | jq --arg v1 ${V1} --arg v2 ${V2} '.AA=$v1 | .BB=$v2'
参数--argjson
和--arg相比,差别就是--arg表示一个简单的字符串值,而--argjson表示一个json对象。
J='{"AA":"aa","BB":"bb"}'
A='{"XX":"xx","YY":1234}'
echo ${J} | jq --argjson a ${A} '.CC=$a'
# {
# "AA": "aa",
# "BB": "bb",
# "CC": {
# "XX": "xx",
# "YY": 1234
# }
}
echo ${J} | jq --argjson a ${A} '.CC=$a.YY'
# {
# "AA": "aa",
# "BB": "bb",
# "CC": 1234
# }
参数--slurpfile和--rawfile
表示从文件中读取参数,或者json文本,还是字符串文本;他们分别对应于参数--arg和--argjson。
其实--slurpfile对应于--argfile更直接,但是jq文档建议用--slurpfile,但我连这个单词什么意思都不认识呢:-( 。
linux arg 参数,jq的--arg参数用法相关推荐
- js获取url参数vue.js获取url参数 JQ获取url参数
在WEB开发中,时常会用到javascript来获取当前页面的url网址信息,在这里是我的一些获取url信息的小总结. 1.window.location.href(设置或获取整个 URL 为字符串) ...
- linux shell命令行选项与参数用法详解
问题描述:在linux shell中如何处理tail -n 10 access.log这样的命令行选项? 在bash中,可以用以下三种方式来处理命令行参数,每种方式都有自己的应用场景. 1,直接处理, ...
- Linux下Shell脚本命令行参数:getopt、getopts用法
目录 简介 getopt 简介 支持选项 用法 getopt optstring parameters getopt [options] [--] getopt [options] -o|--opti ...
- linux系统服务设置命令--chkconfig命令参数及用法详解
chkconfig(check config) 功能说明:chkconfig命令主要用来更新(启动或停止)和查询系统服务的运行级信息.谨记chkconfig不是立即自动禁止或激活一个服务,它只是简单的 ...
- linux系统中mywho命令,linux查看在线用户 who命令参数及用法
linux who 命令 详解 Linux最常用命令之一 功能说明:显示目前登入系统的用户信息. 语 法:who [-Himqsw][--help][--version][am i][记录文件] 补充 ...
- linux cp -r 参数,Linux系统中cp命令的参数及用法详解
Linux系统中cp命令主要是用来复制文件或者目录.下面由学习啦小编为大家整理了Linux系统中cp命令的参数及用法详解的相关知识,希望对大家有帮助! Linux系统中cp命令的参数及用法详解:参数说 ...
- 函数参数中带省略号的用法
[转]函数参数中带省略号的用法 本文摘自CDSN<可变参数学习笔记>,原帖链接:http://topic.csdn.net/t/20041124/09/3582660.html 前言 ...
- 在Linux执行命令报错”Arg list too long”的原因分析
http://www.yunweipai.com/archives/558.html 在Linux执行命令报错"Arg list too long"的原因分析 吞拿鱼手卷 于 3 ...
- linux下c语言线程传参数,【linux】C语言多线程中运行线程池,在线程池中运行线程池,,传递的结构体参数值为空/NULL/0...
C语言多线程中运行线程池,在线程池中运行线程池,,传递的结构体参数值为空/NULL/0 本贴问题,之前已经提问过一次,当时已经解决了,原贴在这里https://segmentfault.com/q/1 ...
最新文章
- 腾讯——这可是一只“骨骼清奇”的狗
- 文件输入输出和string流
- c语言程序中的注释必须单独占一行,C语言习题第一章
- 阿狸心形表白html,2013qq情侣分组心形一对 心心相印的地久天长
- java 数组随机抽取_Java利用数组随机抽取幸运观众
- USACO 3.3 Riding the Fences(欧拉路输出路径)
- 如何批量将 Txt 文本文档转换为 xlsx 格式的 Excel 文档
- 瀛洲大学计算机专业毕业 卖身,目前计算机芯片 ( 集成电路 ) 制造的主要原料 } 是 () ,它是一种可以在沙子中提炼出的物质。_学小易找答案...
- opencore 引导 近完美 黑苹果EFI(技嘉H310/I5-9400F/RX560D)
- ufs2.1 android bench,小米6使用的是UFS2.1闪存吗?小米6闪存AndroBench跑分成绩
- 手把手教你如何微信公众号开发“翻译功能
- win10 计划任务时提示所指定的账户名称无效解决方法
- 剑侠情缘手游服务器bug修复,剑侠情缘手游因BUG大回档 摆摊功能依然受影响
- 微信小程序运营系列(五)——门店运营的基础流程
- php安装ImageMagick
- centos打开指定端口(443),Linux防火墙状态查看的方法
- 苹果x和xsmax有什么区别_支持4G的苹果11Pro和支持5G的苹果12Pro有什么区别呢?
- 蓝桥杯单片机——Ds1302时间开始与暂停
- 高通平台手机开发之Sensor
- [python]打飞机小游戏代码
热门文章
- [文摘20070914]一个成功的博客必须知道的80个博客工具
- 在ubuntu中安装awvs
- the_easiest_RSA
- 纳德拉憾失左膀右臂 陆奇离任为哪般
- 从零基础到考取HCIP,我是如何去系统学习网工知识的
- 一个做电商的表哥,一年轻松赚五十万,也没有见他发货,是如何做到的?
- Linux操作系统~系统文件IO,什么是文件描述符fd?什么是vfs虚拟文件系统
- 关于“python无法定位序数242于动态链接库: libiomp5md.dll”问题的解决
- HTML5和CSS3六CSS3三
- 第一周:手写数字识别