LinuxSir.cn,穿越时空的Linuxsir!

 找回密码
 注册
搜索
热搜: shell linux mysql
查看: 2310|回复: 6

使用perl从ifconfig中提取ip地址

[复制链接]
发表于 2007-10-18 17:04:25 | 显示全部楼层 |阅读模式
大家好如何从ifconfig中使用perl来提取到ip地址。谢谢。
因为在perl脚本中无法使用awk,当执行无法实现。
ifconfig
eth0      Link encap:Ethernet  HWaddr 00:16:764:A3:0D  
          inet addr:172.31.12.36  Bcast:172.31.12.255  Mask:255.255.255.0
          inet6 addr: fe80::216:76ff:fed4:a30d/64 Scopeink
使用  ifconfig | grep '[0-9]\{1,3\}\.[0-9]\{1,3\}\.[0-9]\{1,3\}\.[0-9]\{1,3\}' | grep -v '127'| cut -d: -f2 | awk '{print $1}'
出来
172.31.12.36

但是在脚本中无法把ip地址给一个变量。
 楼主| 发表于 2007-10-18 17:20:37 | 显示全部楼层
ifconfig | perl -lne 'print $1 if/inet addr.*)Bcast/'
172.31.12.36
回复 支持 反对

使用道具 举报

 楼主| 发表于 2007-10-18 17:21:24 | 显示全部楼层
^_^总算研究出来了。
不过大家有什么好的 表达式 欢迎指点我。 谢谢
回复 支持 反对

使用道具 举报

 楼主| 发表于 2007-10-18 17:24:32 | 显示全部楼层
在脚本中 如何实现 就不知道了。
回复 支持 反对

使用道具 举报

发表于 2007-10-19 19:53:38 | 显示全部楼层
#!/usr/bin/perl

$str = `ifconfig`;
$str =~ s/sdfsdlkfjsld//;  #根据你的机器上的输出自己填
print $str;
回复 支持 反对

使用道具 举报

 楼主| 发表于 2007-10-25 15:22:03 | 显示全部楼层

请指导一下

Post by sparksong
#!/usr/bin/perl

$str = `ifconfig`;
$str =~ s/sdfsdlkfjsld//;  #根据你的机器上的输出自己填 ( 这里写啥东西)

print $str;




请指导一下,谢谢
回复 支持 反对

使用道具 举报

发表于 2007-11-24 22:34:55 | 显示全部楼层
Post by lichengshuang;1769697
大家好如何从ifconfig中使用perl来提取到ip地址。谢谢。
因为在perl脚本中无法使用awk,当执行无法实现。
ifconfig
eth0      Link encap:Ethernet  HWaddr 00:16:764:A3:0D  
          inet addr:172.31.12.36  Bcast:172.31.12.255  Mask:255.255.255.0
          inet6 addr: fe80::216:76ff:fed4:a30d/64 Scopeink
使用  ifconfig | grep '[0-9]\{1,3\}\.[0-9]\{1,3\}\.[0-9]\{1,3\}\.[0-9]\{1,3\}' | grep -v '127'| cut -d: -f2 | awk '{print $1}'
出来
172.31.12.36

但是在脚本中无法把ip地址给一个变量。


$a = `ifconfig`
if ($a=~ /^.*t.*) \  Mask.*/) {
        $ip=$1
}

$ip  就是IP地址
回复 支持 反对

使用道具 举报

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

本版积分规则

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