linux上文件内容去重的问题uniq/awk

摘要:
无法全文搜索,au.txt[root@aaa01~]#Catau.txtt12345612示例2:[root@aaa01~]#catb.txt10463210[root@aaa01~]#catb.txt |排序| uniq>您可以在全文中搜索重复项并显示示例1:那么自然地,其值为false(0),即x[12]=0。

1、uniq:只会对相邻的行进行判断是否重复,不能全文本进行搜索是否重复,所以往往跟sort结合使用。

例子1

[root@aaa01 ~]# cat a.txt

12

34

56

12

[root@aaa01 ~]# cat a.txt|uniq >>au.txt

[root@aaa01 ~]# cat au.txt

12

34

56

12

例子2:

[root@aaa01 ~]# cat b.txt

10

46

32

10

[root@aaa01 ~]# cat b.txt|sort |uniq >>bu.txt

[root@aaa01 ~]# cat bu.txt

10

32

46

2、awk:可以全文本搜索去重然后进行显示

例子1:

如m.txt文本:

[root@aaa01 ~]# cat m.txt

12

34

56

12

[root@aaa01 ~]# awk '!x[$0]++' m.txt >ma1.txt

[root@aaa01 ~]# cat ma1.txt

12

34

56

说明:获取第一行x[12],因为这是第一行,数组m里从没见过12这个变量,那么自然他的值就是假(0)也就是说x[12]=0,这个时候!就有大作用了,他把x[12]假(0)变成了x[12]为真(!0)这个时候原本不改打印的第一行就变成了应该打印了,取逻辑反后对x[12]的值+1然后处理第二行

第二行x[34]这个情况跟刚才第一行的x[12]一样的情况,也应该打印他。

第三行x[56]和第一、二两行一样的处理逻辑。

到第四行的时候情况遍了,因为第一行已经出现过了x[12]并且已经++过了他的值已经是非0而不是前两行的0了,本应打印但这时候再由!取逻辑反就不必打印了

所以执行完就是这个结果。

例子2:

[root@aaa01 ~]# awk 'x[$0]++' m.txt >ma2.txt

[root@aaa01 ~]# cat ma2.txt

12

例子3:

[root@aaa01 ~]# vi n.txt

78

12

01

01

78

[root@aaa01 ~]# awk 'x[$0]++' n.txt >na.txt

[root@aaa01 ~]# cat na.txt

01

78

免责声明:文章转载自《linux上文件内容去重的问题uniq/awk》仅用于学习参考。如对内容有疑问,请及时联系本站处理。

上篇npm下载某个版本弹窗操作下篇

宿迁高防,2C2G15M,22元/月;香港BGP,2C5G5M,25元/月 雨云优惠码:MjYwNzM=

相关文章

EasyUI 页面分页

DAO package com.hanqi.dao; import java.util.ArrayList; import java.util.List; import org.hibernate.Session; import org.hibernate.SessionFactory; import org.hibernate.Transaction...

WPF 大数据加载过程中的等待效果——圆圈转动

大家肯定遇到过或将要遇到加载大数据的时候,如果出现长时间的空白等待,一般人的概念会是:难道卡死了? 作为一个懂技术的挨踢技术,即使你明知道数据量太大正在加载,但是假如看不到任何动静,自己觉得还是一种很不好的体验。 之前做项目的时候有这方面的要求,我的前辈们早已给出了完美的解决方案。最近自己在努力学习,今天拿出来与大家一起分享,我想一定会有帮助的。看过之后大...

cocos2d-js 调试办法 断点调试 Android真机调试

一 使用浏览器chrome打开程序,进行调试。跟普通js程序一样。 要么自行搭建服务器,利用python脚本,或者用其他服务器程序(LAMP或XAMPP)。然后用浏览器打开服务器地址。 要么直接使用cocos提供好的命令行:cocos run –p web 浏览器调试好处是,方便,对于小程序或者非native代码是非常有意义的。但部署到真机后遇到的问题...

总结PLSQL的快捷键以及使用技巧

http://www.dedecms.com/knowledge/data-base/oracle/2012/0724/3643.html 最近在开发过程中,遇到一些麻烦,就是开发效率问题,有时候其他同事使用PLSQL 编程效率明显高于自己,观察了好久,才发现他使用PLSQL 已经很长时间了而且,他自己也在其中添加了好多快捷方式,      1、登录后默认...

SqlServer性能急剧下降,查看所有会话的状态及等待类型---Latch_Ex

      当某个数据库文件空间用尽,做自动增长的时候,同一时间点只能有一个用户人员可以做文件自动增长动作,其他任务必须等待,此时会出现Latch资源的等待。使用sp_helpdb查看业务数据库时发现:该数据库设置不合理,数据文件每次增长2M,日志文件每次增长10%,且分别设置了最大限制。修改为每次增长200M,不限制大小,系统恢复正常,问题解决。 Sql...

Nginx事件管理之事件处理流程

1. 概述 事件处理要解决的两个问题: "惊群" 问题,即多个 worker 子进程监听相同端口时,在 accept 建立新连接时会有争抢,引发不必要的上下文切换, 增加系统开销。 负载均衡问题。 这两个问题的解决需要依靠 Nginx 的 post 事件处理机制。Nginx 设计了两个 post 队列,一个是由被触发的监听连接的读事 件构成的 ngx_...