안녕하세요 여러분, 쉘 스크립트를 사용하여 다음 한 줄 문자열을 변경해야 합니다
{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