줄 구분 기호 없이 수리 로그를 구문 분석하는 방법

줄 구분 기호 없이 수리 로그를 구문 분석하는 방법

공백 구분 기호 없이 수정 로그의 데이터를 구문 분석하는 솔루션에 도움을 줄 수 있는 사람이 있나요? 이 파일의 내용은 e라는 파일에 포함되어 있습니다.

8=FIX.4.49=025535=R49=UAT_RFQ56=UAT34=283052=20221101-20:16:01.304115=CPP131=booboo=155=EUR/USD167=FOR38=10000000015=EUR63=SP1=CPPIAGT453=1448=yogi447=D452=378=179=NT6R80=100000000467=07152=110=061

+++

제가 생각하는 유일한 공통 패턴은 "=" 기호입니다. 따라서 이상적으로는 '=' 기호가 나타나면 등호 앞의 2 또는 3 위치 값을 가져와 개행 문자에 입력합니다.

이상적으로 출력은 다음과 같습니다.

8=FIX.4.4
9=0255
35=R
49=UAT_RFQ
56=UAT
34=2833
52=20221101-20:16:42.239
115=CPP
131=booboo
146=1
55=EUR/USD
167=FOR
38=100000000
15=EUR
63=SP
1=CPPIAGT
453=1
448=yogi
447=D
452=3
78=1
79=NT6R
80=100000000
467=07
152=
110=073

하지만 공백으로 구분할 수 있다면 기쁘겠습니다.


8=FIX.4.4 9=0255 35=R 49=UAT_RFQ 56=UAT 34=2830 52=20221101-20:16:01.304 115=CPP 131=booboo=1 55=EUR/USD 167=FOR 38=100000000 15=EUR 63=SP 1=CPPIAGT 453=1 448=yogi 447=D 452=3 78=1 79=NT6R 80=100000000 467=07 152= 110=061

나는 간단한 방법을 시도했습니다: cat e | sed 's/=/\t/g'. 이로 인해

8       FIX.4.49        025535  R49     UAT_RFQ56       UAT34   283052  20221101-20:16:01.304115        CPP131  booboo  155     EUR/USD167      FOR38   10000000015     EUR63   SP1     CPPIAGT453      1448    yogi447 D452    378     179       NT6R80  100000000467    07152   110     061

이는 내가 찾고 있는 솔루션을 나타내지 않습니다. 나에게 올바른 방향을 알려주거나 조언을 해줄 수 있다면.

도움을 주셔서 감사합니다.

답변1

"하나 또는 둘"을 달성하는 것은 불가능합니다. 한두 글자만 입력하세요.

sed -e 's|\(.\)=|\n\1=|g' <e
sed -e 's|\(..\)=|\n\1=|g' <e

키의 길이를 결정하는 패턴을 텍스트에서 찾으면 퍼즐을 다시 살펴볼 수 있습니다. 그러나 지금...

키=값 쌍 사이에 구분 기호가 없다고 확신하시나요? 사용해 보세요 hexdump- 인쇄할 수 없는 문자를 찾는 데 도움이 될 수 있습니다.

관련 정보