行区切りなしで修復ログを解析する方法

行区切りなしで修復ログを解析する方法

スペース区切りなしで修正ログのデータを解析するソリューションに役立つ人はいますか?このファイルの内容は、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

「一つまたは二つ」を達成することは不可能です。 1〜2文字だけ入力してください。

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

キーの長さを決定するパターンをテキストで見つけたら、パズルをもう一度見てみましょう。しかし今…

キーと値のペアの間に区切り文字がないと確信していますか?試してみてくださいhexdump- 印刷できない文字を見つけるのに役立ちます。

おすすめ記事