[新手上路]批处理新手入门导读[视频教程]批处理基础视频教程[视频教程]VBS基础视频教程[批处理精品]批处理版照片整理器
[批处理精品]纯批处理备份&还原驱动[批处理精品]CMD命令50条不能说的秘密[在线下载]第三方命令行工具[在线帮助]VBScript / JScript 在线参考
返回列表 发帖

[文本处理] [已解决]批处理怎样批量提取邮箱email?

一个txt文本里有很多文字和邮件email,email有大写的,也有小写的,@符号有些些的是#有些是(at)如何批量提取出来?

比如下面:

放大法都是阿尔 343、o932r  [email]a.GOsch@gmx.at[/email] 付款你
放大法都是都i9fek  [email]a.grosMAnn@chello.nl[/email] fdlamfe
435大商股份 a.kaTZer(at)aon.at 放大法放大方353俄reaffirm
32安防 [email]a.keesman@MCna.nl[/email] 32443123213123
热发电罚2 b.kTZer#aon.at 32rdsaf
1

评分人数

    • Batcher: 感谢给帖子标题标注[已解决]字样PB + 2

  1. 太乱了
  2. 贴出来好些
复制代码

TOP

回复 1# clemente123
  1. @echo off&setlocal enabledelayedexpansion
  2. for /f "delims=" %%i in ('findstr "[@#]" test.txt') do (
  3. for %%j in (%%i) do (
  4. set "str=%%j"&set "str1=!str:@=!"&set "str1=!str1:#=!"
  5. if /I not "!str!"=="!str1!" echo,%%j
  6. )
  7. )
复制代码
看得多说得多,远比不上写得多。

TOP

回复 3# weichenxiehou


    高手,好像不行哦

TOP

回复 4# clemente123


多像啊?
我帮忙写的代码不需要付钱。如果一定要给,请在微信群或QQ群发给大家吧。
【微信公众号、微信群、QQ群】http://bbs.bathome.net/thread-3473-1-1.html
【支持批处理之家,加入VIP会员!】http://bbs.bathome.net/thread-67716-1-1.html

TOP

本帖最后由 lvsehuaxue 于 2011-11-2 19:00 编辑
  1. @Echo Off
  2. (for /f "delims=" %%i in (a.txt) do for %%a in (%%i) do echo %%a|findstr "@")>b.txt
  3. pause
复制代码
1

评分人数

TOP

回复 6# lvsehuaxue


    你的可以,但是最后没有导入到一个文本里,麻烦加上,谢谢

TOP

回复 7# clemente123
已改过,可以输入文本了。
另外,代码都给你了,你不能稍微改一改输入文本吗?

TOP

  1. grep -oE "[^ ]+@[^ ]+" a.txt >b.txt
复制代码

TOP

  1. (@echo off
  2. for /f "delims=" %%a in (1.txt) do (
  3.    for %%b in (%%a) do echo %%b
  4. ))|@findstr @>2.txt
复制代码

TOP

回复 9# awk


  谢谢,但是不起作用,你可以看看版主的

TOP

回复 10# CrLf


    谢谢版主大佬

TOP

回复 11# clemente123


可能是你没有grep

TOP

返回列表