这条awk是怎么执行的呀?

awk '{a[$1]+=1} END{for (i in a) printf("%10s %5d\n",i,a[i])}' www.***.com_access.log | sort

这条语句是怎么执行的呀。我知道他是用来统计ip的。

阅读 2.4k
1 个回答

首先熟悉awk。
其中$1表示ip地址。
END{}为扫描完access.log后执行的语句。
sort为排序。
先扫描access.log中的每一行的ip地址并存入数组a中。
扫描完毕后遍历健值为IP地址和IP地址数量的数组a。
最后排序展示ip地址和ip地址的数量。

撰写回答
你尚未登录,登录后可以
  • 和开发者交流问题的细节
  • 关注并接收问题和回答的更新提醒
  • 参与内容的编辑和改进,让解决方法与时俱进