使用以下两个简单文件:
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
才能工作是一种误导。
有解释吗?还是我应该将此作为错误提交给 coreutils?
嗯,这已经作为正式报告提交了那里。答案是 和 之间有联系,这在页面中有说明。已发布补丁以在页面中对其进行澄清。
-e
-o
info join
man info