sed -E '
:loop
$!N
s/^(((\S+\s+){2}).*)\n\2/\1 /
tloop
P;D
' yourfile
A 123 BC DD TT
B 456 AA RR
C 789 EE
Мы устанавливаем цикл do-while
и добавляем следующую строку в пространство шаблонов
и после этого сравните первые два поля с такими же после новой строки
в пространстве шаблонов. Если их можно удалить из пространства шаблона, то мы повторяем цикл и выходим из цикла при невозможности этого сделать.
В этот момент мы печатаем пространство шаблона до первой новой строки. И удалите эту часть и вернитесь за дополнительной.