有以下两个简单文件:
a.txt
1 a
2 b
5 c
b.txt
2 x
4 y
5 z
以下命令的行为与预期不同:
$ join -a 1 -a 2 -e 0 a.txt b.txt
1 a
2 b x
4 y
5 c z
我希望该选项可以-e 0
用零填充缺失值。但是,以下方法确实有效:
$ join -a 1 -a 2 -e 0 -o auto a.txt b.txt
1 a 0
2 b x
4 0 y
5 c z
从 阅读文档$ man join
,我发现-o
和之间没有任何联系,-e
这将使上述行为变得有意义。相反,我发现它具有误导性,-o auto
需要将无用的内容插入到我的命令中才能-e 0
工作。
有解释吗?或者我应该将其作为 bug 提交给 coreutils?
答案1
嗯,这已经作为正式报告提交了那里。答案是有是-e
和之间的连接-o
,该连接在页面中进行了解释info join
。已发布补丁以在man info
页面中对其进行澄清。