免费注册 查看新帖 |

Chinaunix

  平台 论坛 博客 文库
123
最近访问板块 发新帖
楼主: lxc521
打印 上一主题 下一主题

怎样提取IP地址 [复制链接]

论坛徽章:
0
21 [报告]
发表于 2009-07-28 17:28 |只看该作者

回复 #15 asmboy001 的帖子

谢谢, Minsic的方法好些, 排除了不是PPP接口的地址。

现在有个问题,根据上面得到的结果使用case来处理, 怎么写, 像c语言的switch..case一样的:

#!/bin/bash
s=$(ifconfig|awk 'BEGIN{FS="[: ]+"}/^ppp+/{getline;print $6}')
case $s in
192.168.5.2)
echo "show 2"
;;
192.168.5.3)
echo "show 3 "
;;
192.168.5.4)
echo "show 4 "
;;
esac

论坛徽章:
0
22 [报告]
发表于 2009-07-28 20:29 |只看该作者
用for .. .in ...不行吗 ?

论坛徽章:
0
23 [报告]
发表于 2009-07-28 23:42 |只看该作者

回复 #10 blackold 的帖子

$ awk -F '^.*P-t-P ' '/addr/{print $2}' urfile
终于把你这个代码看明白了,我觉得^这个可以不要,因为awk每次默认好像就是处理一行,并且| + 后面应该加个+可能更严谨,不知道我说的对不对,黑哥赐教!

[ 本帖最后由 over12 于 2009-7-28 23:44 编辑 ]

论坛徽章:
5
2015年辞旧岁徽章
日期:2015-03-03 16:54:152015年迎新春徽章
日期:2015-03-04 09:50:282015年亚洲杯之朝鲜
日期:2015-03-13 22:47:33IT运维版块每日发帖之星
日期:2016-01-09 06:20:00IT运维版块每周发帖之星
日期:2016-03-07 16:27:44
24 [报告]
发表于 2009-07-28 23:47 |只看该作者

回复 #23 over12 的帖子

不敢!
说得对啊. ^是多余的,+要不要都一样.

论坛徽章:
0
25 [报告]
发表于 2009-07-29 13:44 |只看该作者
ifconfig | awk '/inet addr/{print $2}' | awk -F":" '{print $2}'

论坛徽章:
1
数据库技术版块每日发帖之星
日期:2016-01-24 06:20:00
26 [报告]
发表于 2009-07-29 13:50 |只看该作者

回复 #21 lxc521 的帖子

没明白?你这个case写的对的啊

还是就像是22楼说的一样,需要对每个变量进行处理?for i in $s?
您需要登录后才可以回帖 登录 | 注册

本版积分规则 发表回复

  

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

清除 Cookies - ChinaUnix - Archiver - WAP - TOP