長さは必ずしも同じである必要はありませんが、同じデータフィールドと同じヘッダーを使用して、特定の列の順序に従って保持されるヘッダーの後に始まり、2つのソートされたファイルの行をマージしたいと思います。たとえば、ファイル1は次のようになります。
header 1
header 2
header 3
cat 4 aa
dog 5 ab
ostrich 10 cd
fish 13 cc
ファイル2は次のようになります。
header 1
header 2
header 3
lemur 3 dd
alligator 4 ca
lemming 16 ad
1) 同じヘッダーを保持したいのですが、2) 列 2 に基づいて次の行をソートしたいと思います。私が望む出力は次のとおりです。
header 1
header 2
header 3
lemur 3 dd
cat 4 aa
alligator 4 ca
dog 5 ab
ostrich 10 cd
fish 13 cc
lemming 16 ad
探していますが、awk
またはを使用してこの状況の解決策を見つけることはできませんjoin
。
ベストアンサー1
awk
そしてjoin
間違ったツールです。
sed '/^$/q' file1; sort -snmk2,2 <(sed '1,/^$/d' file1) <(sed '1,/^$/d' file2)