最初のファイルのキー順序を維持し、欠落値を文字列 "null" で埋めながら 2 つのファイルを連結します。

最初のファイルのキー順序を維持し、欠落値を文字列

2つのファイルがありますfile1file2参加したいが、文字列"null"を挿入したい2番目のファイルにいくつかのフィールドがありません。 1つの要件は、キーが同じ順序でなければならないことですfile1

入力ファイルと期待される出力は次のとおりです。

file1.txt    file2.txt
a 7 nah      a anau
b 0 blah     c bau
c 5 bah      d cau
d 1 gah
e 0 hah

予想出力:

a 7 nah anau
b 0 blah null
c 5 bah bau
d 1 gah cau
e 0 hah null

ベストアンサー1

join+sort解決策:

join -o1.1,1.2,1.3,2.2 -a1 -e"null" <(sort file1.txt) <(sort file2.txt)

出力:

a 7 nah anau
b 0 blah null
c 5 bah bau
d 1 gah cau
e 0 hah null

おすすめ記事