现在我们有一个包含客户信息的txt(或者word)文档,如何一次性地将文档中的电子邮箱信息提出出来。如下图1所示的效果,左边b.txt是原始文件,右边c.txt是提取出来的电子邮箱。
图1 提取电子邮箱的效果图
该问题可以使用grep命令实现,要在windows系统中使用grep,既可以安装grep命令的windows版本,也可以安装Cygwin并且在其中使用grep。两种方式都需要在命令行模式下操作,使用的命令相同,所以本文只介绍在Cygwin下的grep使用。
1、首先将要处理的txt文件拷贝到Cygwin安装目录下的工作目录,可以直接Cygwin的命令行中输入pwd来查看本机的Cygwin的工作目录,然后在Cygwin安装目录下找到对应目录,如图2所示:
图2 找到Cygwin的工作目录
2、将txt文件拷贝完以后,在Cygwin运行如下的grep命令:
图3 运行的grep命令
简要解释下各个参数:
- a. “-oE”:”o”表示只输出匹配部分内容,”E”表示使用正则表达式;
- b. “> ./c.txt”:表示将输出的内容重定向输出到c.txt文件;
- c. 中间的一长串就是使用的正则表达式,其中”[]“中是或的关系,”+”表示数量不定,具体可查阅对正则表达式的介绍;
3、如上是对txt文档的处理,如果要提取的信息在word文档中,可以将文档内容拷贝到txt再按上述步骤处理即可。