sort u is awesome

今天需要做一件比较蠢low的事情。从apache的access log中整理出包含某path的request的所有referer。
要找出referer不难。 cat + awk 基本搞定了。

比如对于类似192.168.0.101 - - [12/May/2014:20:41:48 +0900] "GET /index.html HTTP/1.1" 200 114 "-" "Mozilla/5.0 (Windows NT 6.1; WOW64; rv:29.0) Gecko/20100101 Firefox/29.0" 的log,我们只需要

1
cat access_log_* | awk '$7~/keywords/{print $11}' > referer.txt

但对于一个日PV几百万的服务来说,显然这样整理出来的referer会有几十万条。其中包含了无数的重复。那么我们肿么去掉这些重复呢?
用vim是正解。

command mode下,:sort u

世界瞬间变得清爽。
用了这么久的vim,现在还能感受到vim的博大精深啊。

如果你觉得本文对你有帮助,请给我点赞助。