awk统计文本里某一列重复出现的次数
比如这样的场景:现在有一个文本,里面是这样的内容:
NOTICE: 12-14 15:11:13: parser. * 6685 url=[http://club.pchome.net/thread_1_18_7283270___TRUE.html] get_tm=115 PAGE=15471[Z]:59066 css_tm=1043 css_res=0/4[0] CONT=3230[Z]:4797 LINK=6095[Z]:22834 TITL=61 PtDef=7 UnifyUrl=47 PvDetail=444 data_path_tm=254 antispam_tm=1811816124 spaminfo=825 [spam_punish_type:0] spam_serv_tm=[393725], spam_except[ANTI_SUCCESS] ext_tm=183608721 ext_sv=[10.226.42.53:33018] ext_ret=4 dump_tm=226 <StContinuesBuild:don't have FeedData, all strategies must run> db_type=se lua_ku_type=se get IndexFeature is :1270 total_tm=816832421
很明显的这个文本里面的第三列是个时间戳,我想要知道同一个时间内处理了多少条记录,那么使用awk,这样即可。
cat logfile | awk '{a[$3]++}END{for(i in a){print i,a[i] | "sort -k 1"}}'
在这条命令中,将文本的第三列作为key,同样的key不停累加,最后输出累加的数组值。最后sort -k1是将结果按照第一列来排序,就是时间戳的小时来排序。
cat logfile |awk '{a[$1]++}END{for(i in a){print i,a[i]}}'|awk '{if($2 > 1 ){print i,$0}}'
还有一种更为简便的方法,使用linux的uniq -c命令来统计,不用写awk命令:
cat logfile | awk '{print $3}' | uniq -c
说实话,这个命令不好用,不准确。
awk统计文本里某一列重复出现的次数的更多相关文章
- Python 基础 - 统计文本里单词的个数以及出现的次数
# -*- coding:utf-8 -*- #author:V def tol (file1,gui): #写一个方法,定义文件,or 匹配规则 import re patt = re.compil ...
- awk 统计文件中按照某列统计某列的和(sum)
把第一列相同的名称的第二列加起来: [root@localhost cc]# cat 1.txtaaa 10 bbb 20aaa 30ccc 40ccc 20ccc 40 [root@localhos ...
- awk 处理文本:行转列,列转行
[root@centos ~]# cat f 1 2 3 4 5 1 2 3 4 5 1 2 3 4 5 1 2 3 4 51 2 3 4 5 awk '{for(i=1;i<=NF;i++)a ...
- awk去重以某列重复的行
[root@localhost cc]# cat 2.txt adc 3 5 a d aa 3 adfa d ba 3 adf 去重第一列重复的行: [root@localhost cc]# cat ...
- 如何使用 awk 输出文本中的字段和列
首先我们要知道,awk 能够自动将输入的行,分隔为若干字段.每一个字段就是一组字符,它们和其他的字段由一个内部字段分隔符分隔开来. 如果你熟悉 Unix/Linux 或者懂得 bash shell 编 ...
- Shell基础(六):使用awk提取文本、awk处理条件、awk综合脚本应用、awk流程控制、awk扩展应用
一.使用awk提取文本 目标: 本案例要求使用awk工具完成下列过滤任务: 1> 练习awk工具的基本用法 2> 提取本机的IP地址.根分区使用率 3> 格式化输出/et ...
- Pyp 替代sed,awk的文本处理工具
Linux上文本处理工具虽不少,像cut,tr,join,split,paste,sort,uniq,sed,awk这些经典工具让人眼花缭乱,而且都太老了,使用方法都不太人性化,尤其awk,语法简直反 ...
- awk 统计
命令太多,记不住,组合起来用一把…..示例文件: 1 2 3 4 5 6 7 8 9 10 11 [root@lovedan test]# cat a.txt hello good world hel ...
- 【Linux进阶】使用grep、find、sed以及awk进行文本操作
目录 一.元字符 二.grep命令 1. 过滤出包含某字符串的行 2. 过滤出以某字符串开头(结尾)的行 3. 过滤出包含某字符串及其相邻的行 4. 过滤出不包含某关键字的行 5. 过滤出包含多个字符 ...
随机推荐
- 百度EasyDL文本分类自定义API示例代码 python
因为需要将命名实体中的组织机构名进一步区分为政府.企业.社会组织等,在easydl上做了一个文本分类模型,但是要用这个接口时候发现, 官方文档中竟然还在用urllib2的库,且不完整.好多地方会报错, ...
- Java Design Pattern(Factory,Singleton,Prototype,Proxy)
一.Factory 设计模式: the most common pattern,create a new object ,eg. A a=new A();工厂模式的好处:工厂模式可以做到把创建对象单独 ...
- .net mvc 上传头像
我用的是mvc5 开发环境vs2017 [仅供参考] [视图代码] <div > <img src="@path" alt="@att.Count&q ...
- 微信小程序----用户拒绝授权,重新调起授权
获取用户信息 wx.getUserInfo({ withCredentials: true, success: function (res) { var nickName = res.userInfo ...
- 箭头函数里this理解
先来看代码: var obj1={ id:4, fn:function(){ var f=() => { console.log(this); //object,f()定义在obj1对象中,th ...
- 缺少新的栈标识:报出异常FLAG_ACTIVITY_NEW_TASK flag-是由于activity关闭之后开启一个新的acitivity时没有标识在栈中,所以需要给一个栈标识
异常(栈里必须有activity的flag标识): 05-02 08:43:36.173: E/AndroidRuntime(3328): android.util.AndroidRuntimeExc ...
- python学习小总结(列表、元组、字典、集合、字符串)
---恢复内容开始--- 一.列表(list) 1.添加 append():追加,在列表末尾添加元素. 列表名.append(添加的元素) extend():扩展,在列表末尾添加元素. 列表名.ext ...
- Ehlib 学习
似乎是为了垂直滚动条 SumList.Active := True; SumList.VirtualRecords := True; TDBGridEh 设计时 It is useful to use ...
- Python之路【目录】
https://www.cnblogs.com/wupeiqi/articles/4938499.html
- spring的bean创建过程
Spring的bean创建过程 步骤 执行过程 描述 1 ThreadLocal.set bean创建之前将beanName的一些属性放进ThreadLocal,避免多线程创建bean导致问题,并发创 ...