Shell 两个文件的连接

Shell 两个文件的连接,shell,join,Shell,Join,我有两个文件,正在执行连接操作,如下所示: nmmadaan@nmmadaan] cat one.txt ~ a b e f c k n

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

  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

为什么join two.txt one.txt不会给出第一列为“c”的行。为什么两个连接都考虑第一列中带有“e”的行?

请阅读手册页-需要在连接字段中对文件进行排序

i、 e.one.txt未在连接字段中排序。

尝试说:

$ join <(sort one.txt) <(sort two.txt)
a b h
c k j
e f p

$加入链接即可。只是一个打字错误。为什么要投否决票?答案是正确的。@snyder-对meDespite非常有效,我认为无论是谁投了反对票都不够。和+1,因为我认为这是给出问题答案的大致思路。@konsolebox,CostisAivalis,这是我的错误,下次请记住,我没有对答案投反对票,事实上我从来没有对任何答案投反对票。我这边的第三票证明了这一点。@CostisAivalis-什么是“它”?甚至我的狗也有性别,并且很乐意向所有性别的人展示——太多时候IMHO?输入应该被分类