我必須在兩個標準上分割線,我用awk和它的分割函數做了它。awk與正則表達式的分割函數
以下是樣本輸入
|ERROR|ErrorHandler|[opName:Fulfill][msisdn:123][clientTrxId:[eventId:1][actionId:34]]|Failed delivery
下面我來分析它
grep ErrorHandler a.log | awk -F'|' '{split($3,a,"\[(.*?)\]"); print a[1]}'
我期待輸出像 [opName:履行] 但它顯示整條生產線
[opName:Fulfill][msisdn:123][clientTrxId:[eventId:1][actionId:34]]
其歸因於上次]]。
如何修改我的正則表達式所以它解析像下面
[opName:Fulfill]
[msisdn:123]
[clientTrxId:[eventId:1][actionId:34]]
您無法像使用普通正則表達式那樣處理匹配對。 –
任何替代建議,以實現這項任務 – ImranRazaKhan