linux上文件内容去重的问题uniq/awk 正则表达过滤操作
、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 正则表达过滤操作的更多相关文章
- linux上文件内容去重的问题uniq/awk
1.uniq:只会对相邻的行进行判断是否重复,不能全文本进行搜索是否重复,所以往往跟sort结合使用. 例子1: [root@aaa01 ~]# cat a.txt 12 34 56 12 [root ...
- linux清空文件内容的几种方式与区别
虽然linux清空文件内容的方式有很多种,但是他们之间有着细微的差别.通过实践我将他们分为两类: 将文件清空,文件大小为0k $ : > filename $ > filename $ ...
- [转] Linux 查找文件内容
Linux查找文件内容的常用命令方法. 从文件内容查找匹配指定字符串的行: $ grep "被查找的字符串" 文件名例子:在当前目录里第一级文件夹中寻找包含指定字符串的.in文件g ...
- linux上文件的上传和下载
现整理一篇linux上文件的上传和下载 第一种方式就是在windos上安装工具 如: 工具如何使用我就不赘述了,easy 第二种方式就是使用liux的命令(首先是文件上传) 上传文件(首先创建文件夹如 ...
- Linux 查询文件内容重复数 uniq、sort命令
前提:uniq只能查询数据相邻的重复次数,而sort可以查询乱序的重复次数. 原谅我,以下内容都是复制菜鸟驿站的!!! Linux uniq 命令用于检查及删除文本文件中重复出现的行列,一般与 sor ...
- linux shell文件合并 去重 分割
1,合并+去重+分割 转载:shell 文件合并,去重,分割 - kakaisgood - 博客园 (cnblogs.com) 第一:两个文件的交集,并集前提条件:每个文件中不得有重复行1. 取出两个 ...
- Linux 查看文件内容的命令
转载自:新浪博客 (观看档案内容 : cat, tac, more, less, head, tail, nl, 刚刚我们提到的都只是在于显示档案的外观,或者是移动与复制一个档案或目录而已,那么如果我 ...
- linux实现文件的去重【转】
(1)两个文件的交集,并集 1. 取出两个文件的并集(重复的行只保留一份) cat file1 file2 | sort | uniq > file3 2. 取出两个文件的交集(只留下同时存在于 ...
- 第3章 Linux上文件的权限管理
3.1 文件/目录的权限 3.1.1 文件的权限 每个文件都有其所有者(u:user).所属组(g:group)和其他人(o:other)对它的操作权限,a:all则同时代表这3者.权限包括读(r:r ...
随机推荐
- 力扣 -- 寻找两个有序数组的中位数 Median of Two Sorted Arrays python实现
题目描述: 中文: 给定两个大小为 m 和 n 的有序数组 nums1 和 nums2. 请你找出这两个有序数组的中位数,并且要求算法的时间复杂度为 O(log(m + n)). 你可以假设 nums ...
- 浅谈JavaScript原型图与内存模型
js原型详解 1.内存模型: 1.原型是js中非常特殊一个对象,当一个函数(Person)创建之后,会随之就产生一个原型对象 2. 当通过这个函数的构造函数创建了一个具体的对象(p1)之后,在这个具体 ...
- 记一下await用法
async函数会返回一个Promise对象,可以使用then方法添加回调函数, 当async函数有return时,会作为success的参数 当async函数有抛错时,会作为fail的参数. 当函数执 ...
- c++后台开发面试常见知识点总结(六)算法手写
链表倒转 leetcode-206 连续子数组最大和问题(和最大的连续子序列的和) leetcode-53 输出字符串中最长的回文子串长度? leetcode-5 一个字符串,求最长无重复子串 ...
- 简易的Master-Worker框架
Master-Worker模式是一种使用多线程进行数据处理的结构,多个worker进程协作处理用户请求,master进程负责维护worker进程,并整合最终处理结果 主要参与者 Worker:用于实际 ...
- 使用KEIL C51实现的简单合作式多任务操作系统内核(单片机实现版本)
基于网上网友的代码,自己在单片机上实现, 特此记录分享之. 基于https://blog.csdn.net/yyx112358/article/details/78877523 //使用KEIL C5 ...
- 洛谷P2786 英语1(eng1)- 英语作文
题目背景 蒟蒻HansBug在英语考场上,挠了无数次的头,可脑子里还是一片空白. 题目描述 眼下出现在HansBug蒟蒻面前的是一篇英语作文,然而智商捉急的HansBug已经草草写完了,此时 他发现离 ...
- [bzoj2456]mode 题解
改题改自闭的时候当然要靠水题来调节心情(逃 2456: mode Time Limit: 1 Sec Memory Limit: 1 MBSubmit: 8461 Solved: 3171[Sub ...
- flutter 接入阿里云OSS
之前因为使用正常文件上传,用户多时拥堵无法正常上传,因此接入阿里OSS 来解决这个问题.本来打算整原生那块,看了下比较麻烦,用flutter dio 直接请求oss 完成 1.上传用到了image_p ...
- XAMPP安装和配置
一.XAMPP安装: 下载地址:https://www.apachefriends.org/zh_cn/index.html 二.修改MySQL数据库 1.更改Apache中数据库端口号 保存后重新启 ...