免费注册 查看新帖 |

Chinaunix

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

[文本处理] 帮个忙啊~~~ [复制链接]

论坛徽章:
3
金牛座
日期:2013-08-26 10:25:02摩羯座
日期:2013-09-09 15:14:322015年亚洲杯之约旦
日期:2015-05-06 09:33:56
跳转到指定楼层
1 [收藏(0)] [报告]
发表于 2014-01-03 17:06 |只看该作者 |倒序浏览
本帖最后由 kooleon 于 2014-01-03 17:06 编辑

文件A:
  1. 192.168.48.193:bond0  HWaddr 70:7B:E8:74:12:A7
  2. 192.168.48.194:bond0  HWaddr 70:7B:E8:74:76:41
  3. 192.168.48.195:bond0  HWaddr 70:7B:E8:74:77:D9
  4. 192.168.48.196:bond0  HWaddr 70:7B:E8:74:12:77
  5. 192.168.48.200:bond0  HWaddr 70:7B:E8:74:75:0F
  6. 192.168.48.200:bond1  HWaddr 70:7B:E8:74:75:0D
  7. 192.168.48.202:bond0  HWaddr 70:7B:E8:74:75:15
  8. 192.168.48.202:bond1  HWaddr 70:7B:E8:74:75:13
  9. 192.168.48.209:bond0  HWaddr FC:48:EF:29:FA:3A
  10. 192.168.48.209:bond1  HWaddr FC:48:EF:29:FA:38
  11. 192.168.48.210:bond0  HWaddr 00:46:4B:AB:37:B5
  12. 192.168.48.210:bond1  HWaddr 00:46:4B:AB:37:B3
  13. 192.168.48.210:bond2  HWaddr E0:24:7F:FA:EC:EA
  14. 192.168.49.200:bond0  HWaddr 10:1B:54:3D:E1:2C

复制代码
文件B
  1. blade1  macaddress
  2. 00 B1 70:7B:E8:74:76:2F
  3. 01 B2 70:7B:E8:74:76:30
  4. blade2  macaddress
  5. 00 B1 70:7B:E8:74:11:63
  6. 01 B2 70:7B:E8:74:11:64
  7. blade3  macaddress
  8. 00 B1 70:7B:E8:74:12:59
  9. 01 B2 70:7B:E8:74:12:5A
  10. blade4  macaddress
  11. 00 B1 70:7B:E8:74:76:4D
  12. 01 B2 70:7B:E8:74:76:4E
  13. blade5  macaddress
  14. 00 B1 70:7B:E8:74:11:E1
  15. 01 B2 70:7B:E8:74:11:E2
  16. blade6  macaddress
  17. 00 B1 70:7B:E8:74:75:0F
  18. 01 B2 70:7B:E8:74:75:10
  19. blade7  macaddress
  20. 00 B0 70:7B:E8:75:06:EF
  21. 01 F0 70:7B:E8:75:06:F1
  22. blade8  macaddress
  23. 00 B0 70:7B:E8:75:07:27
  24. 01 F0 70:7B:E8:75:07:29
  25. blade9  macaddress
  26. 00 B1 70:7B:E8:74:12:6B
  27. 01 B2 70:7B:E8:74:12:6C
  28. blade10  macaddress
  29. 00 B1 70:7B:E8:74:75:15
  30. 01 B2 70:7B:E8:74:75:16
  31. blade11 :d macaddress
  32. 00 B1 70:7B:E8:74:12:A7
  33. 01 B2 70:7B:E8:74:12:A8
  34. blade12  macaddress
  35. 00 B1 70:7B:E8:74:76:41
  36. 01 B2 70:7B:E8:74:76:42
  37. blade13  macaddress
  38. 00 B1 70:7B:E8:74:77:D9
  39. 01 B2 70:7B:E8:74:77:DA
  40. blade14  macaddress
  41. 00 B1 70:7B:E8:74:12:77
  42. 01 B2 70:7B:E8:74:12:78
复制代码
在B文件里从文件A中查找同样mac的条目
如果mac地址不一样就原样输出,如果mac地址一样的话就输出:
例在blade11的地方最后输出的结果应该是:
  1. blade11 :d macaddress
  2. 00 B1 00 B1 70:7B:E8:74:12:A7   192.168.48.193:bond0  HWaddr 70:7B:E8:74:12:A7
  3. 01 B2 70:7B:E8:74:12:A8
复制代码

论坛徽章:
39
辰龙
日期:2013-08-21 15:45:192015亚冠之广州富力
日期:2015-05-12 16:34:52亥猪
日期:2015-03-03 17:22:00申猴
日期:2015-03-03 17:21:37未羊
日期:2014-10-10 13:45:41戌狗
日期:2014-06-17 09:53:29巨蟹座
日期:2014-06-12 23:17:17双鱼座
日期:2014-06-10 12:42:44寅虎
日期:2014-06-09 12:52:172015亚冠之卡尔希纳萨夫
日期:2015-05-24 15:24:35黄金圣斗士
日期:2015-12-02 17:25:0815-16赛季CBA联赛之吉林
日期:2017-06-24 16:43:52
2 [报告]
发表于 2014-01-03 17:17 |只看该作者
  1. awk 'FNR==NR{a[$3]=$0;next}{print $0,a[$3]}' filea fileb
复制代码

论坛徽章:
3
金牛座
日期:2013-08-26 10:25:02摩羯座
日期:2013-09-09 15:14:322015年亚洲杯之约旦
日期:2015-05-06 09:33:56
3 [报告]
发表于 2014-01-03 17:20 |只看该作者
谢谢~~~

论坛徽章:
780
金牛座
日期:2014-02-26 17:49:58水瓶座
日期:2014-02-26 18:10:15白羊座
日期:2014-04-15 19:29:52寅虎
日期:2014-04-17 19:43:21酉鸡
日期:2014-04-19 21:24:10子鼠
日期:2014-04-22 13:55:24卯兔
日期:2014-04-22 14:20:58亥猪
日期:2014-04-22 16:13:09狮子座
日期:2014-05-05 22:31:17摩羯座
日期:2014-05-06 10:32:53处女座
日期:2014-05-12 09:23:11子鼠
日期:2014-05-21 18:21:27
4 [报告]
发表于 2014-01-03 17:23 |只看该作者
  1. awk 'NR==FNR{a[$3]=$0;next}{if(($3 in a)){print $0"\t"a[$3]}else print}' A B
复制代码
回复 1# kooleon


   

论坛徽章:
780
金牛座
日期:2014-02-26 17:49:58水瓶座
日期:2014-02-26 18:10:15白羊座
日期:2014-04-15 19:29:52寅虎
日期:2014-04-17 19:43:21酉鸡
日期:2014-04-19 21:24:10子鼠
日期:2014-04-22 13:55:24卯兔
日期:2014-04-22 14:20:58亥猪
日期:2014-04-22 16:13:09狮子座
日期:2014-05-05 22:31:17摩羯座
日期:2014-05-06 10:32:53处女座
日期:2014-05-12 09:23:11子鼠
日期:2014-05-21 18:21:27
5 [报告]
发表于 2014-01-03 17:24 |只看该作者
回复 2# 关阴月飞
好吧,可以不判断$3的,学习了。


   

论坛徽章:
1
2015年迎新春徽章
日期:2015-03-04 09:58:11
6 [报告]
发表于 2014-01-03 17:29 |只看该作者
回复 2# 关阴月飞
振聋发聩的代码,巧用awk数组的键值

,mark学习
顺便贴下我的屌丝代码
  1. [root@everIover ~]# awk -vi=0 'NR==FNR{a0[i]=$0;aNF[i]=$NF;i++;next}{if($0~/macaddress/)print $0;else{for(k=0;k<i;k++){if($NF==aNF[k])print $0,a0[k];break}print $0}}' A B
  2. blade1  macaddress
  3. 00 B1 70:7B:E8:74:76:2F
  4. 01 B2 70:7B:E8:74:76:30
  5. blade2  macaddress
  6. 00 B1 70:7B:E8:74:11:63
  7. 01 B2 70:7B:E8:74:11:64
  8. blade3  macaddress
  9. 00 B1 70:7B:E8:74:12:59
  10. 01 B2 70:7B:E8:74:12:5A
  11. blade4  macaddress
  12. 00 B1 70:7B:E8:74:76:4D
  13. 01 B2 70:7B:E8:74:76:4E
  14. blade5  macaddress
  15. 00 B1 70:7B:E8:74:11:E1
  16. 01 B2 70:7B:E8:74:11:E2
  17. blade6  macaddress
  18. 00 B1 70:7B:E8:74:75:0F
  19. 01 B2 70:7B:E8:74:75:10
  20. blade7  macaddress
  21. 00 B0 70:7B:E8:75:06:EF
  22. 01 F0 70:7B:E8:75:06:F1
  23. blade8  macaddress
  24. 00 B0 70:7B:E8:75:07:27
  25. 01 F0 70:7B:E8:75:07:29
  26. blade9  macaddress
  27. 00 B1 70:7B:E8:74:12:6B
  28. 01 B2 70:7B:E8:74:12:6C
  29. blade10  macaddress
  30. 00 B1 70:7B:E8:74:75:15
  31. 01 B2 70:7B:E8:74:75:16
  32. blade11  macaddress
  33. 00 B1 70:7B:E8:74:12:A7 192.168.48.193:bond0  HWaddr 70:7B:E8:74:12:A7
  34. 00 B1 70:7B:E8:74:12:A7
  35. 01 B2 70:7B:E8:74:12:A8
  36. blade12  macaddress
  37. 00 B1 70:7B:E8:74:76:41
  38. 01 B2 70:7B:E8:74:76:42
  39. blade13  macaddress
  40. 00 B1 70:7B:E8:74:77:D9
  41. 01 B2 70:7B:E8:74:77:DA
  42. blade14  macaddress
  43. 00 B1 70:7B:E8:74:12:77
  44. 01 B2 70:7B:E8:74:12:78
  45. [root@everIover ~]#
复制代码

论坛徽章:
780
金牛座
日期:2014-02-26 17:49:58水瓶座
日期:2014-02-26 18:10:15白羊座
日期:2014-04-15 19:29:52寅虎
日期:2014-04-17 19:43:21酉鸡
日期:2014-04-19 21:24:10子鼠
日期:2014-04-22 13:55:24卯兔
日期:2014-04-22 14:20:58亥猪
日期:2014-04-22 16:13:09狮子座
日期:2014-05-05 22:31:17摩羯座
日期:2014-05-06 10:32:53处女座
日期:2014-05-12 09:23:11子鼠
日期:2014-05-21 18:21:27
7 [报告]
发表于 2014-01-03 17:35 |只看该作者
回复 6# 这个冬天不冷
结果好像有点问题,你只处理了blade11这个记录。


   

论坛徽章:
1
未羊
日期:2014-01-02 10:31:18
8 [报告]
发表于 2014-01-03 17:35 |只看该作者
本帖最后由 huzikan 于 2014-01-03 17:38 编辑

赞一个,顺便拿分
关阴月飞 发表于 2014-01-03 17:17
您需要登录后才可以回帖 登录 | 注册

本版积分规则 发表回复

  

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

清除 Cookies - ChinaUnix - Archiver - WAP - TOP