向文件添加换行符

向文件添加换行符

大家好,我需要使用 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 

相关内容