用缺失的行连接

用缺失的行连接

假设我有两个如下所示的文件:

文件 1:

1 x
2 y
3 z
5 l

文件 2:

1 a
2 b
4 c
5 c

我想使用第一列作为键来连接它们,以便

1 x a
2 y b
3 z
4 c
5 l c

其中一个文件中缺少一行仅意味着我忽略了它的数据。我以为join可以解决问题,但它似乎坚持跳过未出现在两个文件中的任何行,我找不到让它执行其他操作的选项。至少-e没有像我想象的那样工作。执行此操作的正确命令行方式是什么?

答案1

join通过使用-a选项 (两次,每个文件编号一次) 的命令可以实现这一点。例如:

join -a1 -a2 1.txt 2.txt

相关内容