当前位置: 首页 > news >正文

信息技术课做网站做360全景的网站

信息技术课做网站,做360全景的网站,网站优化需求,做一个综合商城网站多少钱在shell脚本中#xff0c;当我们需要对JSON数据#xff08;例如ceph、kubernetes等一些命令的输出#xff0c;或是调用API获得的响应#xff09;进行处理和提取时#xff0c;如果使用传统的文本三剑客sed、awk和grep#xff0c;命令将会非常臃肿不可读。虽然这三个命令在…在shell脚本中当我们需要对JSON数据例如ceph、kubernetes等一些命令的输出或是调用API获得的响应进行处理和提取时如果使用传统的文本三剑客sed、awk和grep命令将会非常臃肿不可读。虽然这三个命令在处理松散结构的数据时很有用但当面对JSON这类数据时却显得不够优雅。 jq就是这样一个命令行工具专门用于处理JSON数据特别适用于shell脚本。 jq命令的使用 首先我们需要安装jq命令yum install jq -y 创建如下的示例文件一张学生成绩表 # cat test.json [{ name: zhangsan, gender: male, score: 80 },{ name: lisi, gender: male, score: 90 },{ name: wangerma, gender: female, score: 100 } ]jq命令的标准语法为jq [options] jq filter [file...]最简单的过滤器为.它将输入原封不动地转换为输出会做格式化、高亮例如 # jq . test.json [{name: zhangsan,gender: male,score: 80},{name: lisi,gender: male,score: 90},{name: wangerma,gender: female,score: 100} ]这个命令可以用于检测输入是否为合格的json例如将test.json修改为 # cat test.json [{ name: zhangsan, gender: male, score: 80 },{ name: lisi, gender: male, score: 90 },{ name: wangerma, gender: female, score: 100 }则命令会报错 # jq . test.json parse error: Unfinished JSON term at EOF at line 6, column 0所以我们可以写如下shell作判断 #!/bin/bash if jq . test.json /dev/null 21 thenecho valid json else echo invalid json fi检索键值 如果我们将需要获取所有学生的姓名列表如下 [zhangsan,lisi,wangerma ]该怎么做为此我们需要先使用数组迭代器.[]来获取列表中每一项值 # jq .[] test.json {name: zhangsan,gender: male,score: 80 } {name: lisi,gender: male,score: 90 } {name: wangerma,gender: female,score: 100 }然后获取每一项输出的name键值这里使用我们熟悉的管道符| # jq .[] | .name test.json zhangsan lisi wangerma如果想要去掉输出中的双引号可以使用-r参数输出原始字符串 # jq -r .[] | .name test.json zhangsan lisi wangerma接下来我们可以在过滤器的最外层加上[]来讲结果转换为列表 # jq [.[] | .name] test.json [zhangsan,lisi,wangerma ]以上过滤器的表达式看起来似乎有些臃肿了好在jq提供了map函数因此我们可以将上述表达式替换为 # jq map(.name) test.json [zhangsan,lisi,wangerma ]使用add函数对键值进行求和 仿照上述语法我们可以可以获得所有学生的成绩列表 # jq map(.score) test.json [80,90,100 ]同样。使用管道符|接add函数即可轻松获取所有学生的成绩总和 # jq map(.score) | add test.json 270使用select获取部分键值 如果我们想要对所有男生的成绩进行求和就需要使用select(condition)函数了所有condition为true的输入会被保留false则会被丢弃如我们获取所有性别为男的数据gender male # jq map(select(.gender male)) test.json [{name: zhangsan,gender: male,score: 80},{name: lisi,gender: male,score: 90} ]进一步获取所有男生的分数 # jq map(select(.gender male).score) test.json [80,90 ]最后求和 # jq map(select(.gender male).score) | add test.json 170将输入转换为新的格式输出 如果我们想将上述步骤中的输出合并为一个新的json数据并输出则可以使用如下方式进行格式化输出 # jq { students: map(.name), totalscore: map(.score) | add, totalmalescore: map(select(.gender male).score) | add } test.json {students: [zhangsan,lisi,wangerma],totalscore: 270,totalmalescore: 170 }总结 在shell脚本中处理json数据jq命令是个很好的选择。 本教程将对这个命令的用法只进行了简单入门介绍如需了解详细语法可以参看官方文档https://jqlang.github.io/jq/manual/
http://www.tj-hxxt.cn/news/228059.html

相关文章:

  • 花钱人做的网站做好后算谁的深圳手机网站建设公司
  • 网站建设全包方案seo搜索引擎优化教程
  • seo网站模版哈尔滨网站推广优化公司
  • 长春电商网站建设公司电话wordpress微博样式评论
  • 十里河网站建设百度网址安全检测
  • c#做asp.net网站专业房地产网站建设
  • 网站返回顶部代码wordpress去除wordpress新闻
  • 青岛专业制作网站的公司吗做网站最重要的是什么
  • 建设设计网站增加wordpress阅读量
  • 单页面网站有哪些内容如何看别人网站用什么做的
  • 做网站需要知道的简单代码建设摩托车型号大全
  • 用自己电脑怎么做网站辽源市网站建设
  • 重庆市建设安全监督站的网站中国地震网今天发生地震最新消息
  • 营销型网站特点申请自己邮箱域名
  • 服装定制设计公司seo是什么意思紧要
  • 假网站怎么制作网站建设项目招标书
  • 电商网站建设 数商云快速生成网页的软件
  • 泊头市做网站价格wordpress api key
  • 专业的企业智能建站比较好教做美食的网站
  • 可信赖的企业网站建设巩义做网站的
  • 网站开发招聘年薪教资注册网址
  • 自己做网站哪种好做攻略类型网站如何做产品营销
  • 做视频网站赚做视频网站赚wordpress付费阅读插件
  • 广东阳春市建设局网站网站怎样做seo推广
  • 如何选择网站建设流程武邑网站建设代理
  • 自己做的网站怎么上网郑州全域静态管理
  • 网站的根目录下是哪个文件夹asp.net中文官方网站
  • 餐饮网站设计公司菜鸟必读 网站被入侵后需做的检测 2
  • 扬州做阿里巴巴的公司网站招标网哪个好并且免费
  • 做网站的图片=gif服装网站建设费用