免费注册 查看新帖 |

Chinaunix

  平台 论坛 博客 文库
123下一页
最近访问板块 发新帖
查看: 3868 | 回复: 21
打印 上一主题 下一主题

[文本处理] 求解:Shell分割字串 [复制链接]

论坛徽章:
0
跳转到指定楼层
1 [收藏(0)] [报告]
发表于 2015-03-22 23:35 |只看该作者 |倒序浏览
本帖最后由 rong341233 于 2015-03-22 23:41 编辑

[00000000] Realtek RTL8192CU 无线 LAN 802.11n USB 2.0 网络适配器  0C:82:68:36:33:03  

[00000002] Realtek PCIe GBE 系列控制器                            1C:6F:65:3C:E4:21  



以上我要如何获取Realtek RTL8192CU 无线 LAN 802.11n USB 2.0 网络适配器



awk -F']' '{print $2}'|awk -F':' '{print $1}' 然后出现
Realtek RTL8192CU 无线 LAN 802.11n USB 2.0 网络适配器  0C
如何去掉最后一个0c,因为是MAC地址所以所有的都不相同

MAC获取可以通过awk '{print $NF}'来获得,现在关键是网卡型号如何获取?











论坛徽章:
28
2015年迎新春徽章
日期:2015-03-04 10:16:53午马
日期:2015-03-20 17:11:07亥猪
日期:2015-03-20 17:11:23戌狗
日期:2015-03-20 17:11:33酉鸡
日期:2015-03-20 17:11:47申猴
日期:2015-03-20 17:11:58未羊
日期:2015-03-20 17:12:10子鼠
日期:2015-03-20 17:12:23丑牛
日期:2015-03-20 17:12:40卯兔
日期:2015-03-20 17:12:51辰龙
日期:2015-03-20 17:13:00巳蛇
日期:2015-03-20 17:13:12
2 [报告]
发表于 2015-03-22 23:48 |只看该作者
本帖最后由 我是一隻羊 于 2015-03-23 00:21 编辑
  1. awk '{$1=$NF=""}1' inputfile
复制代码
  1. sed -r 's/[^ ]+ (.*) [^ ]+/\1/' inputfile
复制代码
  1. awk --re-interval -vRS='\\[[^]]+]|([0-9A-F]{2}[:]?){6}' '$0!~/^$|\n/' inputfile
复制代码
  1. sed -r 's/\[[^]]\] | ([0-9A-F]{2}[:]?){6}//' inputfile
复制代码
  1. awk '{while(--NF>1)s=$NF" "s;print s;s=""}' inputfile
复制代码

论坛徽章:
0
3 [报告]
发表于 2015-03-23 09:12 |只看该作者
本帖最后由 rong341233 于 2015-03-23 09:19 编辑

回复 2# 我是一隻羊


    你好:

看到你给我的回复,多多感谢

现在我有  
{"192.168.1.100", "fe80::917d:7e03:2b8f:dc3f"}
{"10.8.0.6", "fe80::6c:578b:6de7:cbd0"}
{"192.168.141.1", "fe80::d2e:d4ac:c012:e142"}
{"192.168.133.1", "192.168.1.12", "fe80::5c07:38e8:285a:d88b"}


awk -F'"' '{print $2,$4,$6,$8,$10}' ip.txt
192.168.1.100 fe80::917d:7e03:2b8f:dc3f
10.8.0.6 fe80::6c:578b:6de7:cbd0
192.168.141.1 fe80::d2e:d4ac:c012:e142
192.168.133.1 192.168.1.12 fe80::5c07:38e8:285a:d88b



请问如何删除具有:那列,就是IPV6的IP







论坛徽章:
30
申猴
日期:2014-04-10 09:43:532015年亚洲杯纪念徽章
日期:2015-03-20 14:40:232015亚冠之阿尔纳斯尔
日期:2015-06-02 18:59:042015亚冠之阿尔希拉尔
日期:2015-06-30 15:22:572015亚冠之大阪钢巴
日期:2015-07-20 10:44:332015亚冠之阿尔纳斯尔
日期:2015-10-28 14:57:5215-16赛季CBA联赛之新疆
日期:2015-12-25 10:18:45黑曼巴
日期:2016-06-26 21:39:5315-16赛季CBA联赛之山西
日期:2016-07-25 21:54:2715-16赛季CBA联赛之北京
日期:2016-10-27 12:07:2315-16赛季CBA联赛之八一
日期:2017-07-07 16:39:0915-16赛季CBA联赛之吉林
日期:2017-09-04 12:14:43
4 [报告]
发表于 2015-03-23 09:55 |只看该作者
本帖最后由 zxy877298415 于 2015-03-23 11:23 编辑

回复 3# rong341233
  1. [code]awk -F, '{gsub(/}|{|"/,"",$0);$NF=""}1' file
  2. 192.168.1.100
  3. 10.8.0.6
  4. 192.168.141.1
  5. 192.168.133.1  192.168.1.12
复制代码

求职 : 机器学习
论坛徽章:
79
2015年亚洲杯纪念徽章
日期:2015-05-06 19:18:572015七夕节徽章
日期:2015-08-21 11:06:172015亚冠之阿尔纳斯尔
日期:2015-09-07 09:30:232015亚冠之萨济拖拉机
日期:2015-10-21 08:26:3915-16赛季CBA联赛之浙江
日期:2015-12-30 09:59:1815-16赛季CBA联赛之浙江
日期:2016-01-10 12:35:21技术图书徽章
日期:2016-01-15 11:07:2015-16赛季CBA联赛之新疆
日期:2016-02-24 13:46:0215-16赛季CBA联赛之吉林
日期:2016-06-26 01:07:172015-2016NBA季后赛纪念章
日期:2016-06-28 17:44:45黑曼巴
日期:2016-06-28 17:44:4515-16赛季CBA联赛之浙江
日期:2017-07-18 13:41:54
5 [报告]
发表于 2015-03-23 09:56 |只看该作者
本帖最后由 zsszss0000 于 2015-03-23 10:44 编辑
  1. awk -F'"' '{print $2}' file   
复制代码
  1. grep -Po '([0-9]+\.?){4}' file
复制代码
回复 3# rong341233


   

论坛徽章:
1
技术图书徽章
日期:2013-09-25 21:06:29
6 [报告]
发表于 2015-03-23 10:10 |只看该作者
回复 2# 我是一隻羊


    awk '{$1=$NF=""}1' inputfile 不太理解这个是啥意思? 能否帮忙解答一下~

论坛徽章:
0
7 [报告]
发表于 2015-03-23 10:29 |只看该作者
回复 5# zsszss0000


    你好,这种只可以打印出第一个IP

如{"192.168.133.1", "192.168.1.12", "fe80::5c07:38e8:285a:d88b"}


只能打印出192.168.133.1   ,而不能打印出192.168.1.12

所以应该是去除掉后面的fe80::5c07:38e8:285a:d88b  才是

求职 : 机器学习
论坛徽章:
79
2015年亚洲杯纪念徽章
日期:2015-05-06 19:18:572015七夕节徽章
日期:2015-08-21 11:06:172015亚冠之阿尔纳斯尔
日期:2015-09-07 09:30:232015亚冠之萨济拖拉机
日期:2015-10-21 08:26:3915-16赛季CBA联赛之浙江
日期:2015-12-30 09:59:1815-16赛季CBA联赛之浙江
日期:2016-01-10 12:35:21技术图书徽章
日期:2016-01-15 11:07:2015-16赛季CBA联赛之新疆
日期:2016-02-24 13:46:0215-16赛季CBA联赛之吉林
日期:2016-06-26 01:07:172015-2016NBA季后赛纪念章
日期:2016-06-28 17:44:45黑曼巴
日期:2016-06-28 17:44:4515-16赛季CBA联赛之浙江
日期:2017-07-18 13:41:54
8 [报告]
发表于 2015-03-23 10:45 |只看该作者
  1. grep -Po '([0-9]+\.?){4}' file
复制代码
回复 7# rong341233


   

论坛徽章:
28
2015年迎新春徽章
日期:2015-03-04 10:16:53午马
日期:2015-03-20 17:11:07亥猪
日期:2015-03-20 17:11:23戌狗
日期:2015-03-20 17:11:33酉鸡
日期:2015-03-20 17:11:47申猴
日期:2015-03-20 17:11:58未羊
日期:2015-03-20 17:12:10子鼠
日期:2015-03-20 17:12:23丑牛
日期:2015-03-20 17:12:40卯兔
日期:2015-03-20 17:12:51辰龙
日期:2015-03-20 17:13:00巳蛇
日期:2015-03-20 17:13:12
9 [报告]
发表于 2015-03-23 10:46 |只看该作者
本帖最后由 我是一隻羊 于 2015-03-23 11:04 编辑

回复 3# rong341233
  1. awk -F\" '{while(++i<NF){$i~/^[0-9.]+$/?s=s" "$i:$i};print s;i=0;s=""}' inputfile
复制代码
  1. awk -F\" '{for(i=0;i++<NF;){$i!~/^[0-9.]+$/?$i="":1}}1' inputfile
复制代码

论坛徽章:
28
2015年迎新春徽章
日期:2015-03-04 10:16:53午马
日期:2015-03-20 17:11:07亥猪
日期:2015-03-20 17:11:23戌狗
日期:2015-03-20 17:11:33酉鸡
日期:2015-03-20 17:11:47申猴
日期:2015-03-20 17:11:58未羊
日期:2015-03-20 17:12:10子鼠
日期:2015-03-20 17:12:23丑牛
日期:2015-03-20 17:12:40卯兔
日期:2015-03-20 17:12:51辰龙
日期:2015-03-20 17:13:00巳蛇
日期:2015-03-20 17:13:12
10 [报告]
发表于 2015-03-23 10:47 |只看该作者
回复 6# yuloveban


    就是给$1和$NF赋值为空,剩下的print出来,就是中间楼主需要的那段啦
您需要登录后才可以回帖 登录 | 注册

本版积分规则 发表回复

  

北京盛拓优讯信息技术有限公司. 版权所有 京ICP备16024965号-6 北京市公安局海淀分局网监中心备案编号:11010802020122 niuxiaotong@pcpop.com 17352615567
未成年举报专区
中国互联网协会会员  联系我们:huangweiwei@itpub.net
感谢所有关心和支持过ChinaUnix的朋友们 转载本站内容请注明原作者名及出处

清除 Cookies - ChinaUnix - Archiver - WAP - TOP