Это мое многоплановое мероприятие.Все, что мне нужно сделать, это создать CSV-файл со значениями Timestamp, User, ecid и RemoteIP.Эти поля доступны в row1, row11, row14 и row16 в моем многопоточном событии.Я попытался использовать AWK и смог найти строки, начинающиеся с User, ecid и т. Д., И смог обрезать поле 2, используя
awk -F'[=:]' '/User|ecid|RemoteIP/{print NR ", " $2 }' filename.txt
, но мне нужно было узнать, как получить метку времени, которая находится в строке 1Также необходимо знать, как сделать так, чтобы эти 4 значения отображались в одной строке, разделенной каналом.Я ищу входные данные здесь в AWK или Perl
[2019-03-01T10:08:30.00] [OBIPS] [TRACE:1] [] [saw.httpserver.request.showrequest] [ecid: 90b8:1e:16:-800-000,0:9] [tid: 563620160] Request received.
Type: POST Headers:
Connection=Keep-Alive
Content-Length=58
Cookie=ORA_BIPS_LBINFO=16938b9e78c
User-Agent=Mozilla/5.0 (Windows NT 10.0; WOW64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/64.0.3282.119 Safari/537.36
X-BlueCoat-Via=56038f342870633d
X-Forwarded-For=10.132.198.91
Request params:
bieehome
icharset=utf-8
User=bi_admin
Password=******
SessionID: 9n5be88r2b041s5s6toojpagruk7ums
ecid: 90b8:1e:16:-800-000,0:9
ThreadID: 5636201600
RemoteIP: 10.192.121.136
]]
Ouptut
Timestamp | User | ecid | RemoteIP
2019-03-01T10:08:30.00 | bi_admin | 90b8:1e:16:-800-000,0:9 | 10.192.121.136