如何使用xargs以递归方式解析text / html文件中的电子邮件地址?

时间:2015-08-17 22:09:43

标签: grep xargs

我尝试使用xargs和grep从text / html文件目录中递归解析电子邮件地址但是这个命令保持包含路径(我只想在我生成的emails.csv文件中找到电子邮件地址)。

find . -type f | xargs grep -E -o "\b[A-Za-z0-9._%+-]+@[A-Za-z0-9.-]+\.[A-Za-z]{2,6}\b" >>  ~/emails.csv

你能解释我的grep命令有什么问题吗?我不需要对它进行排序或唯一。我想匹配文件中出现的所有电子邮件地址。我需要使用xargs,因为我正在使用20 GB的文本文件解析电子邮件。

感谢。

1 个答案:

答案 0 :(得分:0)

当您告诉grep搜索多个文件时,它会将相应的文件名添加到搜索结果中。请尝试以下方法查看效果...

首先,搜索一个文件:

grep local /etc/hosts
# localhost is used to configure the loopback interface
127.0.0.1   localhost

现在搜索两个文件:

grep local /etc/hosts /dev/null
/etc/hosts:# localhost is used to configure the loopback interface
/etc/hosts:127.0.0.1    localhost

要取消找到匹配项的文件名,请将-h开关添加到此grep

grep -h <something> <somewhere>