免费注册 查看新帖 |

Chinaunix

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

ifconfig命令结果过滤的问题 [复制链接]

论坛徽章:
0
跳转到指定楼层
1 [收藏(0)] [报告]
发表于 2009-08-12 18:16 |只看该作者 |倒序浏览
系统有2块网卡,ifconfig命令的结果

  1. eth0      Link encap:Ethernet  HWaddr 00:0E:7F:B3:11:12  
  2.           inet addr:192.168.1.81  Bcast:192.168.1.127  Mask:255.255.255.192
  3.           inet6 addr: fe80::20e:7fff:feb3:5612/64 Scope:Link
  4.           UP BROADCAST RUNNING MULTICAST  MTU:1500  Metric:1
  5.           RX packets:4595139 errors:71 dropped:0 overruns:0 frame:37
  6.           TX packets:3705322 errors:0 dropped:0 overruns:0 carrier:0
  7.           collisions:0 txqueuelen:1000
  8.           RX bytes:565564858 (539.3 MiB)  TX bytes:2960956274 (2.7 GiB)
  9.           Interrupt:193

  10. eth1      Link encap:Ethernet  HWaddr 00:0E:7F:B1:56:CC  
  11.           inet addr:10.0.0.81  Bcast:10.0.0.255  Mask:255.255.255.0
  12.           inet6 addr: fe80::20e:7fff:feb3:56cc/64 Scope:Link
  13.           UP BROADCAST RUNNING MULTICAST  MTU:1500  Metric:1
  14.           RX packets:2064240 errors:0 dropped:0 overruns:0 frame:0
  15.           TX packets:188511 errors:0 dropped:0 overruns:0 carrier:0
  16.           collisions:0 txqueuelen:1000
  17.           RX bytes:147604984 (140.7 MiB)  TX bytes:22653073 (21.6 MiB)
  18.           Interrupt:201
复制代码


要求过滤输出网卡名,ip地址,mac地址,像这样:

  1. eth0 192.168.1.81 00:0E:7F:B3:11:12
  2. eth1 10.0.0.81 00:0E:7F:B1:56:CC
复制代码

不知道sed或awk能不能一性输出这个结果?

论坛徽章:
0
2 [报告]
发表于 2009-08-12 18:22 |只看该作者
  1. ifconfig |awk '$1~/^eth/{i=$1;mac=$NF}$1" "$2~/^inet addr:/{print i,m[split($2,m,":")],mac}'
复制代码

论坛徽章:
84
每日论坛发贴之星
日期:2015-12-29 06:20:00每日论坛发贴之星
日期:2016-01-16 06:20:00每周论坛发贴之星
日期:2016-01-17 22:22:00程序设计版块每日发帖之星
日期:2016-01-20 06:20:00每日论坛发贴之星
日期:2016-01-20 06:20:00程序设计版块每日发帖之星
日期:2016-01-21 06:20:00每日论坛发贴之星
日期:2016-01-21 06:20:00程序设计版块每日发帖之星
日期:2016-01-23 06:20:00程序设计版块每日发帖之星
日期:2016-01-31 06:20:00数据库技术版块每日发帖之星
日期:2016-01-16 06:20:00程序设计版块每日发帖之星
日期:2016-01-16 06:20:00程序设计版块每日发帖之星
日期:2016-01-14 06:20:00
3 [报告]
发表于 2009-08-12 18:34 |只看该作者
ifconfig |
        sed -n '/^eth[0-9]\+ /{N; s/\n//; s/addr://; p}' | awk '{print $1, $7, $5}'

论坛徽章:
84
每日论坛发贴之星
日期:2015-12-29 06:20:00每日论坛发贴之星
日期:2016-01-16 06:20:00每周论坛发贴之星
日期:2016-01-17 22:22:00程序设计版块每日发帖之星
日期:2016-01-20 06:20:00每日论坛发贴之星
日期:2016-01-20 06:20:00程序设计版块每日发帖之星
日期:2016-01-21 06:20:00每日论坛发贴之星
日期:2016-01-21 06:20:00程序设计版块每日发帖之星
日期:2016-01-23 06:20:00程序设计版块每日发帖之星
日期:2016-01-31 06:20:00数据库技术版块每日发帖之星
日期:2016-01-16 06:20:00程序设计版块每日发帖之星
日期:2016-01-16 06:20:00程序设计版块每日发帖之星
日期:2016-01-14 06:20:00
4 [报告]
发表于 2009-08-12 18:41 |只看该作者
严格一点的写法:

ifconfig | sed -n '/^[^ ]/{ /lo/! {N; s/\n//; s/addr://; p}}' | awk '{print $1, $7, $5}'

论坛徽章:
0
5 [报告]
发表于 2009-08-12 18:51 |只看该作者

回复 #1 sailer_sh 的帖子

awk '/eth/{print;getline;print}' ur |sed -rn 'N;s/\n//;s/addr://p' | awk '{print $1,$7,$5}'

论坛徽章:
0
6 [报告]
发表于 2009-08-12 18:58 |只看该作者

回复 #1 sailer_sh 的帖子

sed -rn '/eth/{N;s/\n//;s/addr://;p}' ur | awk '{print $1,$7,$5}'

论坛徽章:
0
7 [报告]
发表于 2009-08-12 19:05 |只看该作者
ifconfig | awk -v RS='\n\n' -F' +|\t+|inet addr:' '/HWaddr/{print $1,$8,$5};!/HWaddr/{print $1,$7,$4}'

论坛徽章:
0
8 [报告]
发表于 2009-08-12 19:15 |只看该作者
sed -rn '/eth/{N;s/\n[ \t]+//;s/(eth[0-9]).*(..:..:..:..:..:..) .*addr.*) Bcast.*$/\1 \3\2/;p}' ur

论坛徽章:
0
9 [报告]
发表于 2009-08-12 19:18 |只看该作者
sed -rn '/eth/{N;s/(eth[0-9]).*(..:..:..:..:..:..).*addr.*) Bca.*$/\1 \3\2/;p}' ur
您需要登录后才可以回帖 登录 | 注册

本版积分规则 发表回复

  

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

清除 Cookies - ChinaUnix - Archiver - WAP - TOP