LinuxSir.cn,穿越时空的Linuxsir!

 找回密码
 注册
搜索
热搜: shell linux mysql
123
返回列表 发新帖
楼主: lichengshuang

cut sed 组合 请教更好的表达式

[复制链接]
 楼主| 发表于 2007-6-25 09:06:12 | 显示全部楼层

还不错哦

Post by lastart
直接用上面的awk不就可以出来ip吗?
如果还要mac的话

  1. awk 'BEGIN{FS="HWADDR="|" IPADDR="";RS=RS"|"/>"}NF==3{print $2" "$3}'
复制代码

不需要一直过滤吧.
不过看起来perl是比awk集成的多一些. 我都拿awk当编程语言了.



还不错哦 ,谢谢你 最好解释一下。 有的地方看不懂哦
回复 支持 反对

使用道具 举报

发表于 2007-6-25 23:59:16 | 显示全部楼层
Post by lichengshuang
直接用 sed -n  '/HOSTNAME="delivery"/,/IPADDR=/p' *.xml | perl -lne 'print $1 if /IPADDR="(.*)"/'
就可以过滤出ip

语句长短嘛。。简单就是美~~
回复 支持 反对

使用道具 举报

发表于 2007-6-27 15:30:34 | 显示全部楼层
sed 's/^.\{1,\}IPADDR=\"\(.*\)\".\{1,\}/\1/'
嘿嘿 这个应该也可以吧!
回复 支持 反对

使用道具 举报

 楼主| 发表于 2007-10-15 17:21:47 | 显示全部楼层
Post by caowai
sed 's/^.\{1,\}IPADDR=\"\(.*\)\".\{1,\}/\1/'
嘿嘿 这个应该也可以吧!
你的不可以的。
回复 支持 反对

使用道具 举报

发表于 2007-10-22 02:26:26 | 显示全部楼层
他的应该可以吧...
回复 支持 反对

使用道具 举报

发表于 2007-10-22 18:12:23 | 显示全部楼层
grep -o '\([0-9]\{1,3\}\.\)\{3\}[0-9]\{1,3\}'  filename
直接用正则表达式就可以了
回复 支持 反对

使用道具 举报

 楼主| 发表于 2007-10-25 14:16:24 | 显示全部楼层

可以,看来你对grep 颇有研究。使用的比较多啊

Post by gregorian
grep -o '\([0-9]\{1,3\}\.\)\{3\}[0-9]\{1,3\}'  filename
直接用正则表达式就可以了



可以,看来你对grep 颇有研究。使用的比较多啊
回复 支持 反对

使用道具 举报

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

本版积分规则

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