我有 2 个文本文件 a.txt 和 b.txt 包含单列数据。我想使用 bash 脚本从两个文件中删除相同的数据。
例如 a.txt包含以下数据
a.b.c.com
c.d.e.com
f.g.h.com
并且b.txt包含如下数据
i.j.k.com
f.g.h.com
输出应该是
a.b.c.com
c.d.e.com
i.j.k.com
我尝试过 sort、uniq -u 等..但它们都没有给我正确的输出。
sort a.txt b.txt | uniq -u
awk '!a[$0]++' a.txt b.txt
这与问题如何删除文件中的重复行?不同,因为我需要完全删除相同的行。我什至不需要它出现一次。例如,f.g.h.com 在上面的参考中已被完全删除。
使用任何 awk:
$ awk '{cnt[$0]++} END{for (i in cnt) if (cnt[i] == 1) print i}' a.txt b.txt
c.d.e.com
i.j.k.com
a.b.c.com