0

我有两个文件,我正在执行连接操作,如下所示:

  nmmadaan@nmmadaan] cat one.txt                                                                                                                                                                     ~
    a b
    e f
    c k
    nmmadaan@nmmadaan] cat two.txt                                                                                                                                                                     ~
    a h
    c j
    e p
    nmmadaan@nmmadaan] join one.txt two.txt                                                                                                                                                            ~
    a b h
    e f p
    nmmadaan@nmmadaan] join two.txt one.txt                                                                                                                                                            ~
    a h b
    e p f

为什么加入 two.txt one.txt 不将第一列作为 'c' 的行。为什么两个连接都考虑第一列中带有“e”的行?

4

2 回答 2

5

请阅读手册页 - http://linux.die.net/man/1/join文件需要在 join 字段上进行排序

即 one.txt 未在连接字段上排序。

于 2013-09-21T05:40:53.937 回答
3

试着说:

$ join <(sort one.txt) <(sort two.txt)
a b h
c k j
e f p
于 2013-09-21T05:44:16.490 回答