【Linux】 awk应用

1  统计机器上处于不一样状态的全部TCP链接的个数(TCP链接是有状态链接,包含SYN_RECV, ESTABLISHED, TIME_WAIT, FIN_WAIT0, FIN_WAIT1等多种状态,要求统计各类状态下的链接的个数)。tcp

1 netstat -n | awk '/^tcp/ {++S[$NF]} END {for (a in S) print a, S[a]}'

 此命令能够用于检查是否存在SYN-FLOODING攻击。若是SYN_RECV状态的半链接异常多,说明存在这种DDOS攻击。spa

 

2  统计目录下各种型文件的个数。$NF是每一行用-F指定的字符分隔以后,获得的最后一列。code

1 ls | awk -F. '{S[$NF]++} END {for(key in S) print Key, S[key]}'

 

3  日期blog

  将日期转换成数字:例如2015-08-01 01:01:01,111 -> 144XXXXXXXXXXclass

1 awk -F [-:,]  '{print mktime($1" "$2" "$3" "$4" "$5" "$6" "$7)}'

      将日期转换成数字以后,就能够作不少日期比较了,好比找到两个连续的时间间隔小于10ms的行。awk

 

4 打印不换行。file

      例如,只打印每一行的第9个词到行末。im

1 awk '{for(i=9; i<=NF; i++) {printf $i" "; } print " " }' <file>
相关文章
相关标签/搜索