在IHS访问日志中,如果有401响应,我需要逐行获取信息。
以下是格式,我需要逐行浏览行以获取用户属性前面的特定数字(在此示例中为123或432)是在线找到401响应。
类似的东西,如果该行的第n个单词是401,则从第n列获取该数字并将其打印出来。
myhost.com xxx.x.xxx.x aaa.aa.aa.aaa - - [14/Aug/2013:10:44:55 +1000] "GET /http/user=123 HTTP/1.1" 401 55 "-" "Apache-HttpClient/4.2.3 (java 1.5)" 21293 80 0
myhost.com xxx.x.xxx.x aaa.aa.aa.aaa - - [14/Aug/2013:10:45:55 +1000] "GET /http/user=432 HTTP/1.1" 401 55 "-" "Apache-HttpClient/4.2.3 (java 1.5)" 21293 80 0
答案 0 :(得分:2)
用空格或'='对记录进行标记,如果第12个字段为401,则打印第10个字段。
awk -F' |=' '$12 ~/401/{print $10}' inputFile
答案 1 :(得分:0)
perl -F'\s|=' -lane 'print $F[9] if $F[11] == 401' your_file.txt