我有一个电子邮件地址文件(文件 1)和另一个包含其中一些电子邮件地址的数据行文件(文件 2)
我想比较文件并删除文件 2 中与文件 1 中具有匹配电子邮件的所有行。
我知道我可以做一个循环并使用sed -i
或循环并将每一行 grep 到一个新文件,然后将文件与 COMM 进行比较
但我想知道是否有一种比较方法,我可以将 file1 中的所有行 grep 到 file2 中,而只保留 file2 中不包含文件 1 中任何电子邮件的行
文件1:
[email protected]
[email protected]
[email protected]
文件2:
23456|tom|jones|test@goodemailcom|10
12345|pete|best|[email protected]|10
87569|remove3|me3|[email protected]|10
23098|mike|jones|mike@goodemailcom|10
10985|al|best|[email protected]|10
09865|removve|me|[email protected]|10
13579|remove2|me2|[email protected]|10
欣赏任何人拥有的任何知识。
答案1
您可以fgrep
为此使用:
fgrep -v -f file1 file2 > unique_addresses
如果两个文件中每行都有一个电子邮件地址,这项任务将会容易得多。
传统上fgrep
作为一个单独的程序存在,但在 GNU 实用程序中,grep -F
做同样的事情。