У меня есть файл, содержащий
abc = <0x0 0x1>;
abc = <0x0 0x1 0x2>;
def = <0x0123 0x4567 0x89AB 0xCDEF>;
def = <0x0 0x1>;
def = <0x1 0x2 0x3 0x4>;
abc = <0x0 0x2 0x4 0x6>;
def = <0x0 0x1 0x2 0x3 0x4 0x5>;
Мне нужно преобразовать его в
abc = <0x0 0x1>;
abc = <0x0 0x1 0x2>;
def = <0x0123 0x4567>, <0x89AB 0xCDEF>;
def = <0x0 0x1>;
def = <0x1 0x2>, <0x3 0x4>;
abc = <0x0 0x2 0x4 0x6>;
def = <0x0 0x1 0x2 0x3 0x4 0x5>;
Мне нужно разбить только треугольные скобки с 4-мя номерами HEX между ними на пару скобок, разделенные запятой, с двумя HEX-числами внутри и только в строках, начинающихся с 'def =' (или 'def =' с любыми символами перед его). Как я могу сделать это с помощью sed, awk или grep?