access.log文件的事例数据:

access-hsag.log

Linux命令:

cat access.log | cut -d ' ' -f 1 | sort | uniq -c | sort -nr |awk '{print $0 }' | head -n 10

命令解释:

cat access.log      # 显示或读取access.log文件的内容。
|                  # 管道符号将前一个命令的标准输出传递给下一个命令作为输入。

cut -d ' ' -f 1    # 使用cut命令以空格为分隔符(-d),只提取每行的第一个字段(-f 1),
                   # 这通常是记录中的客户端IP地址。

|                  # 再次使用管道将结果传递到下一个命令。

sort               # 将上一命令输出的IP地址进行排序。

|                  # 连接两个命令。

uniq -c            # 对排序后的IP地址计数,即统计每个IP出现的次数。

|                  # 继续使用管道。

sort -nr           # 以数值降序对上一步的结果再次排序,以便最大的数字排在前面。

|                  # 然后将这些结果传送给下一个命令。

awk '{print $0}'   # 使用awk打印每一行,这里$0代表整行内容。

|                  # 最后一次使用管道。

head -n 10         # 输出前10行结果。

输出结果: