比较列表并保留重复项

比较列表并保留重复项

我有一个包含许多重复项的列表,例如:

AARC
AARC
AARC
TNGT
TNGT
TNGT
CAAC
CAAC

以及一个没有任何重复项的列表,例如:

AARC
TNGT
YUGT
BATR

ETC。

第一个列表中的所有条目都将出现在第二个列表中,但反之则不然。

我想比较列表并找出两个列表中有多少条目,但是我想保留并识别重复项。例如,输出可以是:

AARC
AARC
AARC
TNGT
TNGT
TNGT

或者

AARC\tAARC
AARC\tAARC
AARC\tAARC
TNGT\tTNGT
TNGT\tTNGT
TNGT\tTNGT

我遇到的问题是,comm 获取第一个重复项并继续前进,将后续条目计为未共享。我可以在网上找到每篇文章,删除重复项,而不是保留它们。曾经有一个数据库我可以用于此目的,但他们最近更改了默认行为以删除重复项,并且有数千个条目我无法手动完成:/

答案1

如果我理解得很好,您想过滤掉第一个列表中不在第二个列表中的所有单词。

您可以使用grep为了那个原因。这个命令:

grep -w -f list2.txt list1.txt

将输出:

AARC
AARC
AARC
TNGT
TNGT
TNGT

还检查这个线程

相关内容