Grep / Gawk - 如果Line包含add到found.txt

时间:2016-10-18 08:56:29

标签: awk grep gawk

好吧基本上我有一个包含电子邮件和文件的文件。另外100个包含ip电话邮件的文件

令人疑惑的是,是否可以检查包含100个.txt文件的文件夹中的行是否包含email@email.com。

find.txt的例子,

   123@hotmail.com
   123456@hotmail.com
   yahoo@yahoo.com

依旧......

100txtfiles的例子

   0.0.0.0       002921931      123@hotmail.com
   123.0.0.1 00029382    1235@hotmail.com

依旧......

所以我想要的是如果100txtfiles行包含来自find.txt的电子邮件然后输出到found.txt

2 个答案:

答案 0 :(得分:0)

这一行应该适合你:

grep -Ff find.txt /dir/to/100.txt/*.txt > found.txt

如果您只想要文件名,请添加-l选项:

grep -Flf find.txt .....

试一试。

答案 1 :(得分:0)

在awk中:

$ awk 'NR==FNR{a[$1];next} ($3 in a)' find.txt path_to_100_files/*
   0.0.0.0       002921931      123@hotmail.com

最后,您希望在上述命令后将输出重定向到found.txt > found.txt。由于您未在问题中包含预期输出,因此输出就是这样。