LinuxSir.cn,穿越时空的Linuxsir!

 找回密码
 注册
搜索
热搜: shell linux mysql
楼主: shihao

如何用bash提取网卡ip地址?

[复制链接]
发表于 2003-1-13 18:11:21 | 显示全部楼层
呵呵,这样也可以,不过sed的功能可不是cut能比的,所以希望大家还是要掌握sed,grep,awk这三个法宝,发挥出他们最大的力量来阿,:),还是谢谢x11兄。
发表于 2003-1-13 23:02:43 | 显示全部楼层
谢谢Pye兄谢谢X11兄!
不过还望Pye兄(方便的时候)能不能抽出时间具体给兄弟们讲讲grep,sed,awk这三个法宝的使用方法及不同?替大家伙儿谢谢您啦!
发表于 2003-1-13 23:05:13 | 显示全部楼层
没有问题,最近都要考试了,很忙,等空了,就第一时间出来。
大家等等吧。呵呵
发表于 2003-1-14 19:49:09 | 显示全部楼层
ifconfig eth0 | grep inet | cut -d : -f 2
结果为
xx.xx.xx.xx  Bcast
将此通过 | 传给cut -d " " -f 1的确可以得到ip
但是我把最后的命令改一下,改为 cut -d " " -f 2 怎么得到空行呢,而不是Bcast ???
发表于 2003-1-14 19:50:44 | 显示全部楼层
中前的空格不只一个,所以我用正则也是用 空格*来取的
 楼主| 发表于 2003-1-16 13:00:45 | 显示全部楼层
x11的解法我个人认为不好掌握,他首先要准确的知道输出格式,当格式不很固定时,比如有P-T-P时不好掌握,还是sed好用些
(纯粹个人爱好)
发表于 2003-1-16 13:13:01 | 显示全部楼层
呵呵,格式确实是要知道,不过这个原来就是取ppp0的ip用的,你试试,一样可以,当然如果你要的就是P-t-P的地址就要改了。
发表于 2003-1-19 11:45:42 | 显示全部楼层
没有一个是通用的方法的。格式不一样,当然就要有应变,sed也一样。
发表于 2003-1-20 12:31:20 | 显示全部楼层
试试这种方法,不使用awk,Just for fun:

youip1=$(ifconfig eth0 | grep "inet addr:")
youip2=${youip1/*inet\ addr:/}
youip=${youip2/\ Bcast:*/}
echo "YOU ip is{youip}"
发表于 2003-1-20 13:51:19 | 显示全部楼层
thank you !
您需要登录后才可以回帖 登录 | 注册

本版积分规则

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