Board logo

标题: [文本处理] [已解决]批处理怎样批量提取邮箱email? [打印本页]

作者: clemente123    时间: 2011-10-28 23:52     标题: [已解决]批处理怎样批量提取邮箱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
作者: sxw    时间: 2011-10-29 00:14

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

作者: weichenxiehou    时间: 2011-10-29 08:36

回复 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. )
复制代码

作者: clemente123    时间: 2011-10-31 09:11

回复 3# weichenxiehou


    高手,好像不行哦
作者: Batcher    时间: 2011-10-31 10:01

回复 4# clemente123


多像啊?
作者: lvsehuaxue    时间: 2011-10-31 15:40

本帖最后由 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
复制代码

作者: clemente123    时间: 2011-11-2 14:01

回复 6# lvsehuaxue


    你的可以,但是最后没有导入到一个文本里,麻烦加上,谢谢
作者: lvsehuaxue    时间: 2011-11-2 19:06

回复 7# clemente123
已改过,可以输入文本了。
另外,代码都给你了,你不能稍微改一改输入文本吗?
作者: awk    时间: 2011-11-3 00:03

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

作者: CrLf    时间: 2011-11-3 00:11

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

作者: clemente123    时间: 2011-11-3 08:16

回复 9# awk


  谢谢,但是不起作用,你可以看看版主的
作者: clemente123    时间: 2011-11-3 08:16

回复 10# CrLf


    谢谢版主大佬
作者: awk    时间: 2011-11-3 09:23

回复 11# clemente123


可能是你没有grep




欢迎光临 批处理之家 (http://bbs.bathome.net/) Powered by Discuz! 7.2