中国DOS联盟论坛

中国DOS联盟

-- 联合DOS 推动DOS 发展DOS --
联盟域名:www.cn-dos.net 论坛域名:www.cn-dos.net/forum
游客 | 登录 | 注册 | 会员 | 搜索 | 中国DOS联盟
中国DOS联盟论坛
现在时间是 2026-08-06 09:21
48,039 主题排行 / 350,124 发帖 / 今日 0 篇 / 48,251 会员排行
DOS批处理 & 脚本技术(批处理室) » 请教怎样才可以做到精确搜索字串
可打印版本  846 / 7
第1楼 terse 发表于 2007-11-05 02:14
银牌会员 发帖 946 积分 2,404
请教怎样才可以做到精确搜索字串
用findstr搜索文本中的字符串不能精确处理,
如:我想搜索61.175.221.25 结果会搜到161.175.221.250
另是否有更快的搜索速度;我的IP地址文本有19M,太慢了!
请高手指教!
第2楼 junchen2 发表于 2007-11-05 03:12
高级用户 发帖 219 积分 537 来自 杭州--半山
findstr "\<61.175.221.25\>"

findstr "61.175.221.25"

findstr " 61.175.221.25 "

sed "/^61.175.221.25$/!d" file


sed "/61.175.221.25.*/!d" file
这样吗

[ Last edited by junchen2 on 2007-11-5 at 03:17 AM ]
第3楼 terse 发表于 2007-11-05 11:45
银牌会员 发帖 946 积分 2,404
谢楼上!还是不能解决!
我有一批处理是这样的:

ip.txt部分内容

比如上面搜索"217.61.15.15" 正确的应该显示芬兰AAA
但最后是显示 土耳其AAA
也就是搜了这行 217.64.144.0 217.64.159.255 土耳其AAA
第4楼 abcd 发表于 2007-11-05 12:54
银牌会员 发帖 739 积分 1,436
根本就没有217.61.15.15这个IP嘛
第5楼 abcd 发表于 2007-11-05 12:58
银牌会员 发帖 739 积分 1,436
第6楼 terse 发表于 2007-11-05 13:01
银牌会员 发帖 946 积分 2,404
Originally posted by abcd at 2007-11-5 12:54:
根本就没有217.61.15.15这个IP嘛

是的 如果没有217.61.15.15 上面的处理就会搜索217.61.15.14
第7楼 abcd 发表于 2007-11-05 13:04
银牌会员 发帖 739 积分 1,436
5楼的不会出现那样情况的

前面的为什么不行,是因为.在正则表达式中代表匹配所有(除\n)

需要转义为\.
第8楼 terse 发表于 2007-11-05 14:22
银牌会员 发帖 946 积分 2,404
Originally posted by abcd at 2007-11-5 12:58:

OK 谢了哦!
[ 联系联盟系统管理团队 - 中国DOS联盟 - 标准版 ]
Sponsored by ifanr Inc | © 2001–2023