[ Last edited by SpikeKnox on 2007-1-26 at 01:02 AM ]作者: vkill 时间: 2007-1-26 01:54 用 sed 时遇到 SetLocal EnableDelayedExpansion 确实有点问题,建议遇到用sed的时候先SetLocal DISABLEDELAYEDEXPANSION作者: SpikeKnox 时间: 2007-1-26 01:59 标题: 谢谢 vkill 的回复
[ Last edited by SpikeKnox on 2007-1-25 at 02:08 PM ]作者: SpikeKnox 时间: 2007-1-26 03:07 C:\>echo clip('211.237.16.88:80') | sed -e "s/.*'\([0-9]\{1,3\}\.[0-9]\{1,3\}\.[0-9]\{1,3\}\.[0-9]\{1,3\}:[0-9]\{2,5\}\)'.*/\1/"
211.237.16.88:80
C:\>echo clip('211.237.16.88:80') | sed -e "s/.*\([0-9]\{1,3\}\.[0-9]\{1,3\}\.[0-9]\{1,3\}\.[0-9]\{1,3\}:[0-9]\{2,5\}\).*/\1/"
1.237.16.88:80
不过是什么原因我还没想通,知道的话也请指教.作者: vkill 时间: 2007-1-27 09:15 C:\>echo clip('211.237.16.88:80') | sed -e "s/[^0-9]*\([0-9]\{1,3\}\.[0-9]\{1,3\}\.[0-9]\{1,3\}\.[0-9]\{1,3\}:[0-9]\{2,5\}\).*/\1/"作者: 无奈何 时间: 2007-1-28 14:00 用 sed 处理提取 IP 之类的事情稍微麻烦一点,如果考虑一行有多个 IP 的情况,必须用循环来处理。
更简单的方法是用 grep 来完成这个任务,可以使用 grep -o 参数,意思为只打印匹配内容,详情可以参看一下帮助。作者: vkill 时间: 2007-1-29 09:20
Quote:
Originally posted by 无奈何 at 2007-1-28 14:00:
用 sed 处理提取 IP 之类的事情稍微麻烦一点,如果考虑一行有多个 IP 的情况,必须用循环来处理。
更简单的方法是用 grep 来完成这个任务,可以使用 ...