从 2 个文件中删除重复文件

问题描述 投票:0回答:1

我有 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 在上面的参考中已被完全删除。

bash sorting awk
1个回答
0
投票

使用任何 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
© www.soinside.com 2019 - 2024. All rights reserved.