我有一个大文件 A(由电子邮件组成),每封邮件一行。我还有另一个文件 B,其中包含另一组邮件。
我将使用哪个命令从文件 A 中删除文件 B 中出现的所有地址。
所以,如果文件 A 包含:
A
B
C
文件 B 包含:
B
D
E
那么文件A应该留下:
A
C
现在我知道这个问题可能被问得更频繁,但我只找到了 one command online这给了我一个错误的分隔符。
任何帮助将不胜感激!肯定有人会想出一个聪明的单线,但我不是 shell 专家。
最佳答案
如果文件已排序(它们在您的示例中):
comm -23 file1 file2
-23
抑制两个文件中的行,或仅在文件 2 中。如果文件未排序,请先通过 sort
管道...
见 man page here
https://stackoverflow.com/questions/4366533/