示例:

1.有一个example.txt文件,文件内容如下:

{“err_code”:200,"err_msg":"this is no error", “status”:1, “dev_name”:“mylinux”, “dev_id”:123}

2.如果我们想要获取dev_id字段的值,可以在命令行下使用如下一行命令:

cat example.txt | sed 's/,/\n/g' | grep "dev_id" | sed 's/:/\n/g' | sed '1d' | sed 's/}//g'

命令解释:

(1)第一个sed命令的意思是将json数据中的“,”替换为换行符“\n”,这样该串数据就变为每一行一个字段的内容,即按逗号分隔数据串。

(2)第二个grep命令的意思是查找“dev_id”关键字,并单列出来。

(3)第三个sed命令的意思是将(2)中的结果再次按冒号“:”进行分隔。

(4)第四个sed命令的意思是将(3)中的结果,删除第一行内容,即删除“dev_id”行。

(5)最后一个sed命令的意思是将最后的花括号“}”用空字符替换,最终得到我们想要的值。

3.如果我们想要获取dev_name字段的值,可以在命令行下使用如下一行命令:

cat example.txt | sed 's/,/\n/g' | grep "dev_name" | sed 's/:/\n/g' | sed '1d' | sed 's/"//g'

命令解释:

前面四个sed、grep命令见上面的解释。

由于前面四个命令我们得到的结果为“mylinux”,因此需要将其中的引号去掉才是我们最终想要的结果mylinux。

sed 's/"//g' 的意思是将前面的结果中的引号“”用空字符代替,最后的g参数表示替换所有符合的引号“”。

4.如果我们想把上述结果存进变量里使用的话,可以使用下面的命令:

dev_id=$(cat example.txt | sed 's/,/\n/g' | grep "dev_id" | sed 's/:/\n/g' | sed '1d' | sed 's/}//g')
echo $dev_id

同样的,对于dev_name字段,有如下命令:

dev_name=$(cat example.txt | sed 's/,/\n/g' | grep "dev_id" | sed 's/:/\n/g' | sed '1d' | sed 's/}//g')
echo $dev_name

5.后记

以上仅为本人的一种实现方式,由于刚开始接触shell,对于grep以及sed的理解还不深入,写在这里也是用于记录,免得日后忘了。上面的实现方式可能比较麻烦,如果大家有更好的方法的话,欢迎留言讨论。

shell命令使用sed从JSON中提取指定的值相关推荐

  1. 如何从PostgreSQL json中提取数组

    如何从PostgreSQL json中提取数组 作者 digoal 日期 2016-09-10 标签 PostgreSQL , json , 数组 , jsonb 背景 在PostgreSQL中使用J ...

  2. FFmpeg命令(二)、 从视频中提取音频

    @[TOC](FFmpeg命令(二). 从视频中提取音频) 提取为mp3 ffmpeg -i huoying.mp4 -f mp3 -ar 16000 huoying.mp3 //huoying.mp ...

  3. vba 提取 json某个值_Excel中提取不重复值的方法汇总(5种基础+VBA+1个自定义函数)...

    各位朋友,你们好, 今天和你们分享Excel中提取不重复值的几种方法,着重介绍[5种]基础操作方法,另外附送一个VBA去重代码,拿去就可以直接使用. 一.基础操作方法 1.数据工具直接去重(见下图) ...

  4. 在TTF字体中提取指定文字

    [说明] 游戏中经常需要用到各种字体,但是网上下载的TTF字体文件最小也有好几兆,要是游戏中需要用到几种字体,那简直不能忍. 通常情况下,我们会用BMFont代替TTF字体,BMFont也有着很多的优 ...

  5. java解析sql查询字段_sql解析json格式字段 如何获取json中某个字段的值?

    java将json数据解析为sql语句?小编给你倒一杯热水.可你惦记着其他饮料,所以你将它放置一旁.等你想起那杯水时,可惜它已经变得冰冷刺骨. 图片中是json数据,每个数据的开头都有表名称,操作类型 ...

  6. xlsx表格怎么筛选重复数据_excel表格如何筛选重复数据 在Excel表格的两列数据中提取不重复值的四种方法...

    excel表格如何筛选重复数据 在Excel表格的两列数据中提取不重复值的四种方法,最近到了季度汇报的时候,掌握一手excel技能在此刻显得多么重要,为了是你的excel看起来更高大上,今天教大家设置 ...

  7. Oracle怎么获取json类型字符串值,sql解析json格式字段 如何获取json中某个字段的值?...

    java将json数据解析为sql语句?小编给你倒一杯热水.可你惦记着其他饮料,所以你将它放置一旁.等你想起那杯水时,可惜它已经变得冰冷刺骨. 图片中是json数据,每个数据的开头都有表名称,操作类型 ...

  8. C++ 取json中的某一个值,解析json字符串

    C++ 取json中的某一个值,解析json字符串 C++编程中遇到了需要经常从json中取某一项,又不想用json库文件实现,只能靠自己封装方法 例如这个json {"date" ...

  9. 如何在用例之间传递值_接口测试:A12_HttpRunner_cookie整理_01_提取指定cookie值

    A12_HttpRunner_cookie整理_01_提取指定cookie值 在 HTTP 响应中,通过响应头设置 cookies 记录用户信息以及身份凭证.用 HttpRunner 编写测试用例的时 ...

最新文章

  1. 自动驾驶车辆在结构化场景中基于HD-Map由粗到精语义定位
  2. 总结自己的Git常用命令
  3. python画哪吒_用Python爬取暑期档大火的《哪吒》,20W+评论数据,我们分析一波...
  4. ConvertUtils.register的作用
  5. 炫技式的精彩对辩撑起《哗变》
  6. 【flink】flink 复杂事件处理 CEP
  7. python3 logging模块_python3中使用logging模块写日志,中文乱码,如何解决?
  8. eclipse项目如何变成web项目_IntelliJ IDEA 部署 Web 项目,终于搞懂了!
  9. Java面试不得不知的问题(一)
  10. proFTPd的使用配置
  11. SWF 学习笔记 ——《如何在内存中提取出加密的SWF》
  12. WinCE全屏手写输入法
  13. 工作记忆的认知神经科学
  14. 计算机右键管理删除,【win7右键菜单管理】右键菜单的设置及清除
  15. java合并图片合成多张横向或竖向
  16. 深度学习中常用的损失函数
  17. java long 百分比,Java 数字转百分比%
  18. 手把手教你做一个电子胸牌
  19. Python Flask Web教程020: flask模板
  20. Hadoop基础-10-YARN

热门文章

  1. swift4.0语法杂记
  2. 顾客点餐系统-----后端代码编写(基于SSM)
  3. 模拟退火算法(数学建模清风)
  4. 百度清风算法打击下载违规网站说明
  5. tortoiseGit管理的文件没有绿色红色等图标
  6. 自律是一种虚伪的力量,成就感才是真实的力量
  7. 自定义异常:运行时期和编译时期的区别
  8. 快速飞入城市空中交通的未来-权威公司发布参考
  9. 电脑中石英晶振的应用
  10. 名风新浪博客评论软件-自动评论推广