找回密码
 立即注册

QQ登录

只需一步,快速开始

搜索
广告投放联系QQ68610888
查看: 1131|回复: 6

求助,用linux基本命令提取json参数

[复制链接]
  1. {"status":{"code":"1","message":"\u64cd\u4f5c\u5df2\u7ecf\u6210\u529f\u5b8c\u6210","created_at":"2020-06-22 15:49:30"},"domain":{"id":12121212,"name":"sh.club","punycode":"sh.club","grade":"DP_Free","owner":"qcloud_uin_****@qcloud.com","ext_status":"","ttl":600,"min_ttl":600,"dnspod_ns":["f1g1ns1.dnspod.net","f1g1ns2.dnspod.net"],"status":"enable"},"info":{"sub_domains":"4","record_total":"4","records_num":"4"},"records":[{"id":"1247459","ttl":"86400","value":"f1g1ns1.dnspod.net.","enabled":"1","status":"enable","updated_on":"2020-05-30 22:32:27","name":"@","line":"\u9ed8\u8ba4","line_id":"0","type":"NS","weight":null,"monitor_status":"","remark":"","use_aqb":"no","mx":"0","hold":"hold"},{"id":"51473","ttl":"86400","value":"f1g1ns2.dnspod.net.","enabled":"1","status":"enable","updated_on":"2020-05-30 22:32:27","name":"@","line":"\u9ed8\u8ba4","line_id":"0","type":"NS","weight":null,"monitor_status":"","remark":"","use_aqb":"no","mx":"0","hold":"hold"},{"id":"123456","ttl":"600","value":"2409::e9e","enabled":"1","status":"enable","updated_on":"2020-06-22 15:40:14","name":"@","line":"\u9ed8\u8ba4","line_id":"0","type":"AAAA","weight":null,"monitor_status":"","remark":"","use_aqb":"no","mx":"0"},{"id":"654321","ttl":"10","value":"10.0.0.1","enabled":"0","status":"disable","updated_on":"2020-06-21 11:13:43","name":"@","line":"\u9ed8\u8ba4","line_id":"0","type":"A","weight":null,"monitor_status":"","remark":"","use_aqb":"no","mx":"0"}]}
复制代码
这是腾讯云的dns的json,我想提取我ipv6的record_id,但是用了几个脚本都不好用。学习了正则表达式,还是不会写。要求就是只能用openwrt的基本命令,不能使用扩展命令


顺便问下linux大佬



  1. sed 's/.*"id":"\([0-9]*\)".*/\1/'
复制代码




为什么这个只能匹配最后一个id
我的恩山、我的无线 The best wifi forum is right here.
你需要一个 jsonfilter
我的恩山、我的无线 The best wifi forum is right here.
回复

使用道具 举报

sed 's/.*"id":"\([0-9]*\)".*/\1/g'
我的恩山、我的无线 The best wifi forum is right here.
回复

使用道具 举报

 楼主| | 显示全部楼层
fbbyy 发表于 2020-6-22 16:43
sed 's/.*"id":"\([0-9]*\)".*/\1/g'

你这个和我的没区别
我的恩山、我的无线 The best wifi forum is right here.
回复

使用道具 举报

不晓得怎么用,看看。。学习
我的恩山、我的无线 The best wifi forum is right here.
回复

使用道具 举报

"需要转义,麻鬼烦,反正运算是CPU的事,多几个步骤总好过想死脑细胞,所以用最蠢的办法:
sed 's/"/ /g'|egrep -o ' id : [0-9]*'|awk -F ' : ' '{print $2}'
我的恩山、我的无线 The best wifi forum is right here.
回复

使用道具 举报

 楼主| | 显示全部楼层
  1. sed 's/"id":"([0-9]*)","ttl":"[0-9]{3,4}".*"type":"AAAA"/\1/'
复制代码

这样子就没问题
我的恩山、我的无线 The best wifi forum is right here.
回复

使用道具 举报

您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

关闭

欢迎大家光临恩山无线论坛上一条 /1 下一条

有疑问请添加管理员QQ86788181|手机版|小黑屋|Archiver|恩山无线论坛(常州市恩山计算机开发有限公司版权所有) ( 苏ICP备05084872号 )

GMT+8, 2024-5-5 22:52

Powered by Discuz! X3.5

© 2001-2024 Discuz! Team.

| 江苏省互联网有害信息举报中心 举报信箱:js12377 | @jischina.com.cn 举报电话:025-88802724 本站不良内容举报信箱:68610888@qq.com 举报电话:0519-86695797

快速回复 返回顶部 返回列表