join
- это инструмент, который можно использовать, но его параметры немного неприятны:
join -t $'\t' -a1 -a2 -o 0,1.2,2.2 file1 file2 |
join -t $'\t' -a1 -a2 -o 0,1.2,1.3,2.2 - file3 |
sed 's/\t\(\t\|$\)/\t0\1/g'
a b c
A 5 2 0
B 0 5 4
C 4 3 4
D 2 0 2
Сначала я использовал параметр -e
, но это вызвало проблемы с строкой заголовка.