目的:ファイル内の公開鍵を使用して2つのファイルの内容をマージします。
file1.txt
=========
key1 11
key2 12
key3 13
file2.txt
=========
key2 22
key3 23
key4 24
key5 25
Expected Output :
==================
key1 11
key2 12 22
key3 13 23
key4 24
key5 25
試みた方法:
join
注文する:join -a 1 -a 2 file1.txt file2.txt ## full outer join
awk
:awk 'FNR==NR{a[$1]=$2;next;}{ print $0, a[$1]}' 2.txt 1.txt
方法2は、完全外部結合の代わりに右外部結合を生成する。
key1 11
key2 12 22
key3 13 23
完全な外部結合を生成するには、方法2で何を修正する必要がありますか?
ベストアンサー1
私の解決策は以下を使用しますjoin
。
join -a1 -a2 -1 1 -2 1 -o 0,1.2,2.2 -e "NULL" file1 file2
awk
私は大容量のファイルの組み合わせについてはよくわかりませんjoin
。
key1 11 NULL
key2 12 22
key3 13 23
key4 NULL 24
key5 NULL 25