按小时计算

Jol*_*ola 15 unix linux awk

什么是计算我们每小时或每分钟看到一定数量的命令?

文件:

Nov 26 08:50:51
Nov 26 08:50:51
Nov 26 08:51:09
Nov 26 08:51:09
Nov 26 08:51:09
Nov 26 08:51:09
Nov 26 08:51:40
Run Code Online (Sandbox Code Playgroud)

输出我想看到:

分钟:

Nov 26 08:50    2
Nov 26 08:51    5
Run Code Online (Sandbox Code Playgroud)

按小时:

Nov 26 08       7
Run Code Online (Sandbox Code Playgroud)

Chr*_*our 29

这可以通过以下方式完成uniq:

$ uniq -w9 -c file       # by hour
      7 Nov 26 08:50:51
$ uniq -w12 -c file      # by minute
      2 Nov 26 08:50:51
      5 Nov 26 08:51:09
Run Code Online (Sandbox Code Playgroud)

-w比较不超过第一个n字符.

-c 前缀行数出现次数.

  • 这很好,但我必须指出这个解决方案仅适用于 Linux。*BSD(包括 OSX)中的 `uniq` 不包括 `-w` 选项。 (2认同)