Cygwin - grep(如果文件包含)

时间:2017-02-14 16:45:19

标签: awk grep gawk

好的,基本上我在

中有一个电子邮件列表
EMAILS.TXT

然后我有另一堆.txt文件包含,电子邮件:phonenumber:name

Compiled1.txt
Compiled2.txt
Compiled3.txt
...

我可以使用grep或gawk来搜索包含compiled1,compiled2的文件夹,看看这些行是否包含来自.txt文件的电子邮件吗?

示例

email.txt Contains " example@example.com " & " example1@example1.com "

包含

的文件夹
Compiled1.txt & Compiled2.txt have both these lines

Cygwin / Gnuwin输出来自compile1&的行。 compiled2如果它包含从emails.txt指定的那些

Output > example@example.com:000000:ExampleUser 
         example1@example1.com:00010101:ExampleUser2
         ...

1 个答案:

答案 0 :(得分:0)

您可以使用

grep -Fi -f EMAILS.TXT Compiled*.txt

-f EMAILS.TXT使用EMAILS.TXT行作为搜索模式 -F禁用对.?等符号的特殊处理 -i不区分大小写的搜索。

输出的格式为

File-in-which-a-match-was-found:Matched-line-from-that-file

如果您的例子:

Compiled1.txt:example@example.com:000000:ExampleUser
Compiled1.txt:example1@example1.com:00010101:ExampleUser2
Compiled2.txt:example@example.com:000000:ExampleUser
Compiled2.txt:example1@example1.com:00010101:ExampleUser2

如果您也对行号感兴趣,请在命令中添加-n