在 Linux 中,如何合并两个文件并只保留两个文件中匹配的行?
每一行由一个换行符(\n
)分隔。
到目前为止,我发现要对其进行排序
,然后使用comm -12
。这是最好的方法吗(假设它是正确的)?
文件A包含
aaa
bbb
ccc
ddd
文件B包含
aaa
ddd
eee
我想要一个新文件来包含
aaa
ddd
最佳答案
假设您的两个输入文件都是 lexicographically sorted , 你确实可以使用 comm
:
$ comm -12 fileA fileB > fileC
如果不是这样,你应该 sort
首先是你的输入文件:
$ comm -12 <(sort fileA) <(sort fileB) > fileC
关于linux - 在 Linux 上合并两个文件,只保留两个文件中出现的行,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/18301611/