在Linux中,如何合并两个文件并且只保留两个文件中匹配的行?
每一行用换行符分隔(\n
)。
到目前为止,我找到sort
,然后使用comm -12
。这是最好的方法(假设它是正确的)?
fileA包含
aaa
bbb
ccc
ddd
fileB包含
aaa
ddd
eee
我想要一个包含
的新文件aaa
ddd
答案 0 :(得分:2)
如果您的两个输入文件都是lexicographically sorted,则确实可以使用comm
:
$ comm -12 fileA fileB > fileC
如果情况并非如此,您应首先sort
输入文件:
$ comm -12 <(sort fileA) <(sort fileB) > fileC