从Unix'join'获取Unique Line

时间:2012-07-07 01:13:06

标签: unix join

鉴于这两个文件

file1.txt
------
foo 
bar

file2.txt
------
foo 1
foo 2
bar 31

如何获取file2.txt中第一行成功加入? 加入后的预期结果是:

foo 1 
bar 31

我尝试了这个但是没有用:

join file1.txt file2.txt

什么是正确的加入命令?

1 个答案:

答案 0 :(得分:2)

您尝试过的联接会从foo打印file2的两个实例。如果您只想选择一个,可以使用sort确保在进行实际连接之前两个文件中都有唯一条目:

join <(sort file1) <(sort -k1,1 -u file2)