免费注册 查看新帖 |

Chinaunix

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

请各位大虾帮忙啊~~~ [复制链接]

论坛徽章:
0
跳转到指定楼层
1 [收藏(0)] [报告]
发表于 2009-03-18 19:18 |只看该作者 |倒序浏览
如何将每个网卡对应的IP地址抓出来
例如:
lo0: flags=2001000849<UP,LOOPBACK,RUNNING,MULTICAST,IPv4,VIRTUAL> mtu 8232 index 1
        inet 127.0.0.1 netmask ff000000
ce0: flags=9040843<UP,BROADCAST,RUNNING,MULTICAST,DEPRECATED,IPv4,NOFAILOVER> mtu 1500 index 2
        inet 10.224.141.193 netmask fffffc00 broadcast 10.224.143.255
        groupname mnicb
        ether 0:14:4f:66:ea:f2
ce0:1: flags=1000843<UP,BROADCAST,RUNNING,MULTICAST,IPv4> mtu 1500 index 2
        inet 10.224.141.192 netmask fffffc00 broadcast 10.224.143.255
ce0:2: flags=1000843<UP,BROADCAST,RUNNING,MULTICAST,IPv4> mtu 1500 index 2
        inet 10.224.141.200 netmask fffffc00 broadcast 10.224.143.255
ce1: flags=69040843<UP,BROADCAST,RUNNING,MULTICAST,DEPRECATED,IPv4,NOFAILOVER,STANDBY,INACTIVE> mtu 1500 index 3
        inet 10.224.141.194 netmask fffffc00 broadcast 10.224.143.255
        groupname mnicb
        ether 0:14:4f:66:eb:6d
格式需要成为
ce0 10.224.141.193
ce0:1 10.224.141.192
ce0:2 10.224.141.200
ce1 10.224.141.194
不要lo0

多谢了。

论坛徽章:
0
2 [报告]
发表于 2009-03-18 19:39 |只看该作者
[root@Mylinux tmp]# awk '$1~/^ce.:/{T=$1}T~/^ce.:/&&$1=="inet"{print T,$2;T=""}' file
ce0: 10.224.141.193
ce0:1: 10.224.141.192
ce0:2: 10.224.141.200
ce1: 10.224.141.194

论坛徽章:
0
3 [报告]
发表于 2009-03-18 20:13 |只看该作者

回复 #1 skyoflzp 的帖子

[w]cat 2
lo0: flags=2001000849<UP,LOOPBACK,RUNNING,MULTICAST,IPv4,VIRTUAL> mtu 8232 index 1
        inet 127.0.0.1 netmask ff000000
ce0: flags=9040843<UP,BROADCAST,RUNNING,MULTICAST,DEPRECATED,IPv4,NOFAILOVER> mtu 1500 index 2
        inet 10.224.141.193 netmask fffffc00 broadcast 10.224.143.255
        groupname mnicb
        ether 0:14:4f:66:ea:f2
ce0:1: flags=1000843<UP,BROADCAST,RUNNING,MULTICAST,IPv4> mtu 1500 index 2
        inet 10.224.141.192 netmask fffffc00 broadcast 10.224.143.255
ce0:2: flags=1000843<UP,BROADCAST,RUNNING,MULTICAST,IPv4> mtu 1500 index 2
        inet 10.224.141.200 netmask fffffc00 broadcast 10.224.143.255
ce1: flags=69040843<UP,BROADCAST,RUNNING,MULTICAST,DEPRECATED,IPv4,NOFAILOVER,STANDBY,INACTIVE> mtu 1500 index 3
        inet 10.224.141.194 netmask fffffc00 broadcast 10.224.143.255
        groupname mnicb
        ether 0:14:4f:66:eb:6d
[w]
[w]
[w]sed  -n  '/ce\|inet/{s/\(^ce...\).*/\1/p; s/inet \(10.\{12\}\).*/\1/p}' 2
ce0:
        10.224.141.193
ce0:1
        10.224.141.192
ce0:2
        10.224.141.200
ce1:
        10.224.141.194
[w]

[ 本帖最后由 wtuter 于 2009-3-18 20:16 编辑 ]

论坛徽章:
0
4 [报告]
发表于 2009-03-18 20:25 |只看该作者
多谢帮忙,不过有一点,我之前没有说清楚,网卡不一定总是ce的,可能是eri、eth等等,这样的话如何提取?
再次感谢楼上两位兄台。

论坛徽章:
0
5 [报告]
发表于 2009-03-18 20:33 |只看该作者

回复 #4 skyoflzp 的帖子

awk '$1~/^ce.:/||$1~/^eri.:/||$1~/^eth.:/{T=$1}$1=="inet"{print T,$2;T=""}' file

或者干脆
awk '$2~/^flags=/{T=$1}$1=="inet"{print T,$2}' file

[ 本帖最后由 ywlscpl 于 2009-3-18 20:39 编辑 ]

论坛徽章:
0
6 [报告]
发表于 2009-03-18 20:34 |只看该作者
搞定了~
ifconfig -a|awk '$1~/:/&&$1!~/lo/{T=$1} T~/:/&&$1=="inet"{print T,$2;T=""}'

论坛徽章:
0
7 [报告]
发表于 2009-03-18 20:37 |只看该作者

回复 #6 skyoflzp 的帖子

理解了是最好的,根据需求自己变通,能达到目的就行

论坛徽章:
0
8 [报告]
发表于 2009-03-18 21:18 |只看该作者
给个sed的,正在学习。

  1. sed -r 'N;/^[ l]/d;s/\n//;s/([^ ]: ).*inet (.*) (netmask.*)/\1\2/'
复制代码

  1. [root@bj_manager test]# cat test.txt
  2. lo0: flags=2001000849<UP,LOOPBACK,RUNNING,MULTICAST,IPv4,VIRTUAL> mtu 8232index 1
  3.         inet 127.0.0.1 netmask ff000000
  4. ce0: flags=9040843<UP,BROADCAST,RUNNING,MULTICAST,DEPRECATED,IPv4,NOFAILOVER>mtu 1500 index 2
  5.         inet 10.224.141.193 netmask fffffc00 broadcast 10.224.143.255
  6.         groupname mnicb
  7.         ether 0:14:4f:66:ea:f2
  8. ce0:1: flags=1000843<UP,BROADCAST,RUNNING,MULTICAST,IPv4> mtu 1500 index 2
  9.         inet 10.224.141.192 netmask fffffc00 broadcast 10.224.143.255
  10. ce0:2: flags=1000843<UP,BROADCAST,RUNNING,MULTICAST,IPv4> mtu 1500 index 2
  11.         inet 10.224.141.200 netmask fffffc00 broadcast 10.224.143.255
  12. ce1: flags=69040843<UP,BROADCAST,RUNNING,MULTICAST,DEPRECATED,IPv4,NOFAILOVER,STANDBY,INACTIVE>mtu 1500 index 3
  13.         inet 10.224.141.194 netmask fffffc00 broadcast 10.224.143.255
  14.         groupname mnicb
  15.         ether 0:14:4f:66:eb:6d
  16. [root@bj_manager test]# sed -r 'N;/^[ l]/d;s/\n//;s/([^ ]: ).*inet (.*) (netmask.*)/\1\2/' test.txt
  17. ce0: 10.224.141.193
  18. ce0:1: 10.224.141.192
  19. ce0:2: 10.224.141.200
  20. ce1: 10.224.141.194
  21. [root@bj_manager test]#
复制代码

[ 本帖最后由 kwokcn 于 2009-3-18 21:21 编辑 ]

论坛徽章:
0
9 [报告]
发表于 2009-03-19 10:51 |只看该作者
原帖由 kwokcn 于 2009-3-18 21:18 发表
给个sed的,正在学习。

sed -r 'N;/^[ l]/d;s/\n//;s/([^ ]: ).*inet (.*) (netmask.*)/\1\2/'


[root@bj_manager test]# cat test.txt
lo0: flags=2001000849 mtu 8232index 1
        inet 127.0.0. ...


能解释下 'N;/^[ l]/d;s/\n//;s/([^ ]: ).* 什么意思呀

论坛徽章:
0
10 [报告]
发表于 2009-03-19 11:38 |只看该作者

回复 #1 skyoflzp 的帖子

[root@zhang shell]# cat d
lo0: flags=2001000849<UP,LOOPBACK,RUNNING,MULTICAST,IPv4,VIRTUAL> mtu 8232 index 1
        inet 127.0.0.1 netmask ff000000
ce0: flags=9040843<UP,BROADCAST,RUNNING,MULTICAST,DEPRECATED,IPv4,NOFAILOVER> mtu 1500 index 2
        inet 10.224.141.193 netmask fffffc00 broadcast 10.224.143.255
        groupname mnicb
        ether 0:14:4f:66:ea:f2
ce0:1: flags=1000843<UP,BROADCAST,RUNNING,MULTICAST,IPv4> mtu 1500 index 2
        inet 10.224.141.192 netmask fffffc00 broadcast 10.224.143.255
ce0:2: flags=1000843<UP,BROADCAST,RUNNING,MULTICAST,IPv4> mtu 1500 index 2
        inet 10.224.141.200 netmask fffffc00 broadcast 10.224.143.255
ce1: flags=69040843<UP,BROADCAST,RUNNING,MULTICAST,DEPRECATED,IPv4,NOFAILOVER,STANDBY,INACTIVE> mtu 1500 index 3
        inet 10.224.141.194 netmask fffffc00 broadcast 10.224.143.255
        groupname mnicb
        ether 0:14:4f:66:eb:6d
[root@zhang shell]# awk '{if($1~/ce/){print $1}else if($1~/inet/ && NR>2){print $2}}' d | sed 'N;s/\n/ /'
ce0: 10.224.141.193
ce0:1: 10.224.141.192
ce0:2: 10.224.141.200
ce1: 10.224.141.194
您需要登录后才可以回帖 登录 | 注册

本版积分规则 发表回复

  

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

清除 Cookies - ChinaUnix - Archiver - WAP - TOP