中国DOS联盟论坛

中国DOS联盟

-- 联合DOS 推动DOS 发展DOS --
联盟域名:www.cn-dos.net 论坛域名:www.cn-dos.net/forum
游客 | 登录 | 注册 | 会员 | 搜索 | 中国DOS联盟
中国DOS联盟论坛
现在时间是 2026-08-11 22:30
47,811 主题排行 / 349,897 发帖 / 今日 0 篇 / 48,256 会员排行
DOS批处理 & 脚本技术(批处理室) » 过滤出EMAIL 地址 『已结』
可打印版本  862 / 10
第1楼 uiopuiop 发表于 2009-05-14 01:45
中级用户 发帖 211 积分 400
过滤出EMAIL 地址 『已结』
需要从一个文本文件里过滤出EMAIL 地址,但碰到点问题。

(work@home you can visit www.test.com)并不是我想要的EMAIL地址。希望能用纯批处理来实现这个功能,谢谢!

C:\temp>findstr "@." test.txt
work@home you can visit www.test.com
afdf@test.com
test2@test2.com
zzd@tests.com
badbu@test.com.cn


文本如下:(email 两边或许会有些空格或TAB,前N行有些乱七八糟的文字)
luan ti ba zao de wen zi
work@home you can visit www.test.com
afdf@test.com
test2@test2.com
zzd@tests.com
badbu@test.com.cn

[ Last edited by uiopuiop on 2009-5-17 at 10:25 ]
第2楼 yishanju 发表于 2009-05-14 04:40
银牌会员 发帖 1,357 积分 1,488
用FR 才是王道

type a.txt|fr -ric:"*(*@.*)*" -t:"\1"

没有测试过,代码可能不对

FR 下载http://baiy.cn/utils/fr/index.htm

[ Last edited by yishanju on 2009-5-14 at 04:50 ]
第3楼 uiopuiop 发表于 2009-05-14 11:24
中级用户 发帖 211 积分 400
纯批处理不能做吗?
第4楼 everest79 发表于 2009-05-14 15:09
金牌会员 发帖 1,127 积分 2,564


cscript my.js 1.txt
第5楼 uiopuiop 发表于 2009-05-14 23:42
中级用户 发帖 211 积分 400
多谢各位,但是我还是希望能用纯批处理来实现这个功能,谢谢!
第6楼 everest79 发表于 2009-05-15 03:49
金牌会员 发帖 1,127 积分 2,564

纯批的,不容错
第7楼 uiopuiop 发表于 2009-05-15 07:26
中级用户 发帖 211 积分 400
楼上你好!
不容错?什么意思?

高手!果然管用,但我没看懂你是如何把 空格,TAB 都给去掉的?

set/ax+=1,1/(1/x)2 何意 ?

set new 这个变量什么地方冒出来的?

[ Last edited by uiopuiop on 2009-5-15 at 10:58 ]
第8楼 everest79 发表于 2009-05-16 06:21
金牌会员 发帖 1,127 积分 2,564
是使用set替换字符串时的通配方法,将你原来的字符串自"@"符号分成两部分
例如
badbu@test.com.cn
就分成了
badbu

@test.com.cn
然后使用for按空格分割输出,第一个字符串,保留最后一个
第二个字符串保留第一个
set /a x+=1,1/(1/x)&&echo %%i就是用来判断是不是第一个

set new是显示以new打头的变量
这些变量是
set newmail%~2=%dst%
来定义的
第9楼 uiopuiop 发表于 2009-05-16 11:07
中级用户 发帖 211 积分 400
Originally posted by everest79 at 2009-5-16 06:21 AM:
是使用set替换字符串时的通配方法,将你原来的字符串自"@"符号分成两部分
例如
badbu@test.com.cn
就分成了
ba ...



多谢啊,学习了。。。

用空格分隔,但你又是如何吧TAB去掉的?
第10楼 everest79 发表于 2009-05-17 07:42
金牌会员 发帖 1,127 积分 2,564
你可以关掉回量,只输入一行文本来仔细观察下
第11楼 yangfengoo 发表于 2009-05-17 09:15
初级用户 发帖 41 积分 47
学习了.讲得很好.可惜我不能评分..
[ 联系联盟系统管理团队 - 中国DOS联盟 - 标准版 ]
Sponsored by ifanr Inc | © 2001–2023