LinuxSir.cn,穿越时空的Linuxsir!

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

sed获取IP地址

[复制链接]
发表于 2010-3-5 10:28:42 | 显示全部楼层 |阅读模式
IP_ADDRESS="192.168.2.100"
请问如何使用sed获取这个ip地址,谢谢!
发表于 2010-3-5 14:28:00 | 显示全部楼层
  1. echo 'IP_ADDRESS="192.168.2.100"' | cut -d '"' -f 2
复制代码
回复 支持 反对

使用道具 举报

发表于 2010-3-5 20:15:20 | 显示全部楼层
给你两个:
  1. root [ ~ ]0# echo 'IP_ADDRESS="192.168.2.100"' | sed -n -e 's/[^"]*"//' -e 's/"//p'
  2. 192.168.2.100
  3. root [ ~ ]0#
复制代码
  1. root [ ~ ]0# echo 'IP_ADDRESS="192.168.2.100"' | sed -n -e 's/[^0-9.]//gp'
  2. 192.168.2.100
  3. root [ ~ ]0#
复制代码
回复 支持 反对

使用道具 举报

发表于 2010-3-6 17:54:00 | 显示全部楼层

  1. echo IP_ADDRESS="192.168.2.100" | sed "s/[^0-9]*//"
复制代码
回复 支持 反对

使用道具 举报

发表于 2010-3-6 19:03:48 | 显示全部楼层
Post by kingoftime3;2073567

  1. echo 'IP_ADDRESS="192.168.2.100" | sed "s/[^0-9]*//"
复制代码


你试过吗?

...
回复 支持 反对

使用道具 举报

发表于 2010-3-6 22:51:59 | 显示全部楼层
试过呀,不对吗?多一个单引号
回复 支持 反对

使用道具 举报

 楼主| 发表于 2010-3-12 10:40:51 | 显示全部楼层
感谢几位,试了一下,几位仁兄的都可以,只是king兄的多了一个双引号,另外我还写了一个:

  1. echo 'IP_ADDRESS="192.168.22.121"' | tr -d "[A-Z]" | sed 's/"//g' | sed 's/.=//'
复制代码

请问能推荐一下比较好的正则表达式的教程吗?多谢!
回复 支持 反对

使用道具 举报

发表于 2010-3-12 21:34:19 | 显示全部楼层
都写到这份上了,还要提取吗?
直接宣布就是了:
  1. $  a='IP_ADDRESS="192.168.22.121"'
  2. $  eval declare $a
  3. $  echo $IP_ADDRESS
  4. 192.168.22.121
复制代码
回复 支持 反对

使用道具 举报

发表于 2010-3-13 10:39:09 | 显示全部楼层
echo ${IP_ADDRESS="192.168.2.100"}
回复 支持 反对

使用道具 举报

发表于 2010-3-19 15:35:44 | 显示全部楼层
果然是高手啊。到底是咋回事捏?

上一个awk

echo "IP_ADDRESS=\"192.168.2.100\""|awk -F"\"" '{print $2;}'
192.168.2.100
回复 支持 反对

使用道具 举报

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

本版积分规则

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