我的文件包含此
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个十六进制数字分割成两对括号,并用逗号隔开,里面有2个十六进制数字,并且只在以'def ='(或'def ='之前的任何符号)。如何使用sed,awk或grep做到这一点?