【发布时间】:2019-07-04 06:41:34
【问题描述】:
如果 url 字符串中的第一个单词匹配,我想要总和。例如我想要的输出应该包含总和和 url 中的第一个单词
Count Response Url
3 400 data.internal.example.com
18 400 homeloans.internal.example.com
4 400 login.internal.example.com
465 400 login.internal.example.com
3 400 regions.internal.example.com
5 400 search.example.com
6 400 search.example.com
30 400 search.example.com
2 400 search.example.com
1 400 search.internal.example.com
1 422 login.example.com
1 422 login.example.com
139 422 newprojects.internal.example.com
1 422 notification.example.com
1 500 example.com
1 500 search.example.com
已使用 ruby 代码和 shell 命令从日志文件中获取上述内容
result = `ruby -lane 'puts $F.values_at(9,8).join( \"\ \" )' #{@logfile} | grep -E '500\|502\|504\|400\|422\|409\|405'| grep -v "200" |grep -v "Nagar" | grep -v "Colony" |grep -v "Phase" | grep -v "Sector" | grep -v "Road" | grep -v "ignore_protected" |grep -v "LYF_LS_4002" | grep -v "utm_dynamicid" |sort |uniq -c`
下面应该是输出 -
Count Response Url
3 400 data
18 400 homeloans
469 400 login
3 400 regions
44 400 search
2 422 login
139 422 newprojects
1 422 notification
1 500 example.com
1 500 search.example.com
【问题讨论】:
-
你有没有尝试自己写剧本?
-
已尝试获取但我现在迷路了 result =
ruby -lane 'puts $F.values_at(9,8).join( \"\ \" )' #{@logfile} | grep -E '500\|502\|504\|400\|422\|409\|405'| grep -v "200" |grep -v "Nagar" | grep -v "Colony" |grep -v "Phase" | grep -v "Sector" | grep -v "Road" | grep -v "ignore_protected" |grep -v "LYF_LS_4002" | grep -v "utm_dynamicid" |sort |uniq -c
标签: linux bash shell scripting