次の行から2つのテキストを取得します。
[23/08/2019 09:30:00 351] [DEBUG] [Hilo:Thread-17905] [Clase:co.com.colombiamovil.activator.db.PoolFacade: getSiebelDirectConnection (81)] [Conexi???n establecida 7682 siebelDB: TMAC70580369126846, duraci???n: 90]
出力:
23/08/2019 09:30:00 | duraci???n: 90
または
23/08/2019 09:30:00 | 90
これにより、持続時間が得られます。
grep "duraci???n: " ussdGw.log | cut -d" " -f16 | tr -d "]"
しかし、日付が見つかりません。
助けてください
ベストアンサー1
以下を使用できますawk
。
$ awk 'gsub(/[][]/,""){print $1,$2,"|",$NF}' file
23/08/2019 09:30:00 | 90
gsub(/[][]/,"")
現在行にある[
or ]
(文字クラス:[ ]
2文字で構成されて]
いる[
ため)のすべての項目を置き換え[ ][ ]
てから、成功した場合は最初のフィールド(日付)、2番目のフィールド(日付)時間)、および最後のフィールドを印刷します。 (NF)フィールド、期間。