|
uiopuiop
中级用户
  
积分 400
发帖 211
注册 2007-9-30
状态 离线
|
|
2009-5-14 01:45 |
|
|
yishanju
银牌会员
     [b]看你妹啊[/b]
积分 1488
发帖 1357
注册 2006-5-20
状态 离线
|
『第
2 楼』:
用FR 才是王道
type a.txt|fr -ric:"[ \t]*([a-z_0-9]*@[a-z_0-9].[a-z]*)[ \t]*" -t:"\1"
没有测试过,代码可能不对
FR 下载 baiy.cn/utils/fr/index.htm
[ Last edited by yishanju on 2009-5-14 at 04:50 ]
|

有问题请发论坛或者自行搜索,再短消息问我的统统是SB |
|
2009-5-14 04:40 |
|
|
uiopuiop
中级用户
  
积分 400
发帖 211
注册 2007-9-30
状态 离线
|
|
2009-5-14 11:24 |
|
|
everest79
金牌会员
      一叶枝头,万树皆春
积分 2564
发帖 1127
注册 2006-12-25
状态 离线
|
『第
4 楼』:
var a=WScript.Arguments;
if (a.Length > 0){
var f=new ActiveXObject("Scripting.FileSystemObject");
var u=f.OpenTextFile(a(0).replace(/\\/g,"\\\"),1).ReadAll().match(/\w+@\w+\.\w+/g);
for (i=0;i<u.length;i++)WScript.Echo(u[i]);
}
cscript my.js 1.txt
|

49206C6F766520796F752067757973 54656C3A3133383238343036373837 |
|
2009-5-14 15:09 |
|
|
uiopuiop
中级用户
  
积分 400
发帖 211
注册 2007-9-30
状态 离线
|
『第
5 楼』:
多谢各位,但是我还是希望能用纯批处理来实现这个功能,谢谢!
|
|
2009-5-14 23:42 |
|
|
everest79
金牌会员
      一叶枝头,万树皆春
积分 2564
发帖 1127
注册 2006-12-25
状态 离线
|
『第
6 楼』:
@echo off
for /f "delims=" %%a in (b.txt) do (
echo %%a|findstr "[a-z0-9]*@[a-z0-9]*\.[a-z0-9]*" >nul&&set/ac+=1&&call :replace "%%a" %%c%%
)
set new
pause
goto :eof
:replace
set x=0
set src=%~1
set tmp=%src:*@=%
call set src=%%src:%tmp%=%%
for %%i in (%src%) do set tmp=%%i%tmp%
for %%i in (%tmp%) do set/ax+=1,1/(1/x)2>nul&&echo %%i&&set dst=%%i
set newmail%~2=%dst%
goto :eof
纯批的,不容错
|

49206C6F766520796F752067757973 54656C3A3133383238343036373837 |
|
2009-5-15 03:49 |
|
|
uiopuiop
中级用户
  
积分 400
发帖 211
注册 2007-9-30
状态 离线
|
『第
7 楼』:
楼上你好!
不容错?什么意思?
高手!果然管用,但我没看懂你是如何把 空格,TAB 都给去掉的?
set/ax+=1,1/(1/x)2 何意 ?
set new 这个变量什么地方冒出来的?
[ Last edited by uiopuiop on 2009-5-15 at 10:58 ]
|
|
2009-5-15 07:26 |
|
|
everest79
金牌会员
      一叶枝头,万树皆春
积分 2564
发帖 1127
注册 2006-12-25
状态 离线
|
  『第
8 楼』:
是使用set替换字符串时的通配方法,将你原来的字符串自"@"符号分成两部分
例如
[] badbu@test.com.cn [tab]
就分成了
[] badbu
与
@test.com.cn [tab]
然后使用for按空格分割输出,第一个字符串,保留最后一个
第二个字符串保留第一个
set /a x+=1,1/(1/x)&&echo %%i就是用来判断是不是第一个
set new是显示以new打头的变量
这些变量是
set newmail%~2=%dst%
来定义的
|

49206C6F766520796F752067757973 54656C3A3133383238343036373837 |
|
2009-5-16 06:21 |
|
|
uiopuiop
中级用户
  
积分 400
发帖 211
注册 2007-9-30
状态 离线
|
『第
9 楼』:
Originally posted by everest79 at 2009-5-16 06:21 AM:
是使用set替换字符串时的通配方法,将你原来的字符串自"@"符号分成两部分
例如
[] badbu@test.com.cn [tab]
就分成了
[] ba ... 多谢啊,学习了。。。
用空格分隔,但你又是如何吧TAB去掉的?
|
|
2009-5-16 11:07 |
|
|
everest79
金牌会员
      一叶枝头,万树皆春
积分 2564
发帖 1127
注册 2006-12-25
状态 离线
|
『第
10 楼』:
你可以关掉回量,只输入一行文本来仔细观察下
|

49206C6F766520796F752067757973 54656C3A3133383238343036373837 |
|
2009-5-17 07:42 |
|
|
yangfengoo
初级用户
 
积分 47
发帖 41
注册 2009-4-24
状态 离线
|
『第
11 楼』:
学习了.讲得很好.可惜我不能评分..
|

正在学习中…… |
|
2009-5-17 09:15 |
|