shell awk 练习题

由于最近工作中用到比较多 自己掌握的也不好就整理了一下.如果后续有补充可能会再更新

[root@jenkins-slave01 ops]# echo "new-ac-core-user-relation" | sed 's/.*ac-core-//g'
user-relation


[root@jenkins-slave01 ops]# echo new-ac-core-activity|awk -F- '{ print $NF }' 
activity

提取出字符串Yd$C@M05MB%9Bdh7dq+YVixp3vpw中的所有数字
root@qqq:~# echo "Yd$C@M05MB%9Bdh7dq+YVixp3vpw" | grep -o [0-9] 
#gsub函数,将非数字替换为"",再打印 
root@qqq:~# echo "yd$C@M05MB%9&Bdh7dq+yVixp3vpw" | awk '{gsub(/[^0-9]/,"");print $0}' 


文件ip_list.txt如下格式,请提取“.magedu.com"前⾯的主机名部分并写到文件中
1 blog.magedu.com 
2 www.magedu.com 
... 999 
999 study.magedu.com 

awk -F'[ .]' '{print $2}' ip_list.txt 

使用awk统计当前主机的并发访问量
[root@192-168-38-140 ~]# netstat -tan | awk '/^tcp/ {++state[$NF]} END {for(key in state) print key,"\t",state[key]}'
LISTEN   8
ESTABLISHED      6


nginx的access.log日志如下,⽤将状态码为200的请求的ip访问 排名前10个列出来:

172.18.116.232 - - [18/May/2018:00:20:29 -0400] "GET / HTTP/1.1" 200 0 "-" "Mozilla/5.0 (Windows NT 6.1; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/66.0.3359.117 Safari/537.36" "-" 
172.18.116.232 - - [18/May/2018:00:20:29 -0400] "GET / HTTP/1.1" 304 0 "-" "Mozilla/5.0 (Windows NT 6.1; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/66.0.3359.117 Safari/537.36" "-" 

awk '($9 ~ /200/)' access.log | awk '{print $9,$7}' | sort -nr |head -n10 
 

你可能感兴趣的:(shell awk 练习题)