結合の「-e」オプションが機能するために「-o auto」を指定する必要があるのはなぜですか?

結合の「-e」オプションが機能するために「-o auto」を指定する必要があるのはなぜですか?

2つの簡単なファイルがあります。

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にバグとして報告する必要がありますか?

ベストアンサー1

まあ、これは正式報告書として提出されたそこ。答えは「はい」ですはい-eとの間の接続は-oページに記載されていますinfo joinman infoページでこれを明確にするためにパッチが公開されました。

おすすめ記事