Eu acho que você gostaria que os campos estivessem em uma posição consistente. Em caso afirmativo, um deles funcionaria usando apenas uma invocação de join
e nenhum sed
:
$ join -t: -a1 -o 1.1,1.2,2.2 a b
Tom:black:big
Lily:pink:
$ join -t: -a1 -o 1.1,2.2,1.2 a b
Tom:big:black
Lily::pink