计算文件

时间:2015-04-24 10:16:47

标签: unix awk

我的数据中有以下行

029 32389047809475037568907376 000000 00000000000
029 32389047809475037568907376 000000 00000000000
029 32389047809475037568907376 000000 00000000000
029 32389047809475037568907376 000000 00000000000
029 32389047809475037568907376 000000 00000000000 

我希望在日志视图中计算从这些行开始的" 029"

我该怎么做?

2 个答案:

答案 0 :(得分:2)

没有awk的解决方案:

grep -c "^029" file

查找以029开头的所有行并计算它们(这就是-c选项的作用)

答案 1 :(得分:1)

您可以使用uniq

$ uniq -cw 3 file
      5 029 32389047809475037568907376 000000 00000000000

选项:

  

-c, - count                 前缀行数出现次数

     

-w, - check-chars = N.                 在行中比较不超过N个字符

如果您的-w版本没有uniq选项,则标准awk解决方案将是:

$ awk '/^029 /{c++}END{print c}' file
5