linux统计日志文件中IP出现的次数,显示次数最多的前十
grep -i -o -E "([0-9]{1,3}\.){3}[0-9]{1,3}" test.top.log | sort -n | uniq -c | sort -nr | head -10
cat test.top.log |cut -d ' ' -f 1 | sort |uniq -c | sort -nr | awk '{print $0 }' | head -n 10
# 参数详情:
# grep命令文本搜索
# -E:使用正则匹配
# -o:只显示匹配的部分
# -i:忽略大小写
#
# sort -nr #(-n)数值排序 并(-r)倒序排序
# uniq -c #去重并显示重复次数
# head -10 #命令显示前10行
# cat 命令用于连接文件并打印到标准输出设备上。
# cut 命令用于显示每行从开头算起 num1 到 num2 的文字。
# -b :以字节为单位进行分割。这些字节位置将忽略多字节字符边界,除非也指定了 -n 标志。
# -c :以字符为单位进行分割。
# -d :自定义分隔符,默认为制表符。
# -f :与-d一起使用,指定显示哪个区域。
# -n :取消分割多字节字符。仅和 -b 标志一起使用。如果字符的最后一个字节落在由 -b 标志的 List 参数指示的范围之内,该字符将被写出;否则,该字符将被排除
# awk 是一种处理文本文件的语言,是一个强大的文本分析工具