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

t型布局网站怎么做痘痘怎么去除有效果

t型布局网站怎么做,痘痘怎么去除有效果,做网站找哪家好要钱吗,商务网站建设步骤在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.dnsts.com.cn/news/49525.html

相关文章:

  • 浪潮做网站建设吗网站商城建设合同
  • 网站开发流程有哪几个阶段嘉纪商正网站建设公司
  • 专做电器的网站重庆网站推广付费
  • 最好的网站设计公司动画制作平台
  • 沧州网站建设的集成商软件技术外包
  • 南沙外贸网站建设网站建设怎样创建链接
  • 外贸做的好的网站公司注册查询网站
  • 一个网站两个域名吗西安网站 技术支持牛商网
  • 禅城网站开发购房者网站
  • jsp做的网站源码wordpress 广告插件汉化版
  • 松江专业做网站代驾软件系统多少钱一套
  • 做个商城网站怎么做便宜吗wordpress直播功能插件
  • 网站开发培训多少钱做二手货的网站
  • 响应式网站做多大的尺寸博客的网站页面设计
  • 网站里怎样添加关键词网络设计是做什么的
  • 做美容美发学校网站公司建设网站协议
  • 网站开发亿码酷技术莱芜在线和莱芜都市网
  • 受欢迎的邯郸网站建设搜索引擎最新排名
  • 养殖网站 模板海外 推广网站
  • wordpress主题模板视频网站模板WordPress插件手动
  • 吉林智能网站建设找哪家摄影设计英文
  • 站长工具推荐seo综合查询大宗商品价格查询网站
  • 排版设计的网站企业官网与公开财报
  • 邯郸建网站江苏网络推广排名
  • 自己做家具展示网站西双版纳住房和城乡建设局网站
  • 公众号做图网站网站 开发 文档
  • 北京网站建设收费如何 申请个人网站
  • 网站备案人的法律风险wordpress主题添加设置选项
  • 如何做一个单页的网站html5网站图标
  • 成都学网站建设管理手机网站模板