大家好,我需要使用 shell 脚本更改下面的单行字符串
{1:F01NESWSZM0AXXX1111111111} {2:I940BBRUBEBBXXXXN} {3:{108:400MSOG161200FRO}} {4: :20:400MSOG161200FRO :25:1xxxxxxxx65 :28C:7 :60F:D160429EUR423431,51 :61:1604280428DR300001,NONREF//REFABH09 INCOMING F 1 PARMALT ROUTH AFR :62F:D160429EUR423431,51 :64:D160429EUR423431,51 -}
到
{1:F01NESWSZM0AXXX1111111111} {2:I940BBRUBEBBXXXXN} {3:{108:400MSOG161200FRO}} {4:
:20:400MSOG161200FRO
:25:1xxxxxxxx65
:28C:7
:60F:D160429EUR423431,51
:61:1604280428DR300001,NONREF//REFABH09 INCOMING F 1 PARMALT ROUTH AFR
:62F:D160429EUR423431,51
:64:D160429EUR423431,51 -}
我正在考虑使用 sed 但字符串超过 1,此时应在字符前添加换行符。
新行的分隔符是
:20:
:25:
:28C:
:60F:
:64:
怎么能做到这一点呢?
答案1
只需使用“替代品” \|
:
sed 's/\(:\(20\|25\|28C\|60F\|64\):\)/\n\1/g'
答案2
我建议
sed 's/ :/\n:/g' long.txt