Gnu

為什麼我需要為加入的 -e 選項指定 -o auto 才能工作?

  • March 30, 2022

使用以下兩個簡單文件:

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

引用自:https://unix.stackexchange.com/questions/696259