linux去除内容重复行,Linux删除文本中的重复行 - 米扑博客
在进行文本处理的时候,我们经常遇到要删除重复行的情况。那怎么解决呢?
下面就是三种常见方法?
第一,用sort+uniq,注意,单纯uniq是不行的,uniq对于重复行不上下连续时不起作用
因此,先对文件的行内容排序 sort,使其上下内容连续后,再使用 uniq
sort -k2n file | uniq
这里我做了个简单的测试,当file中的重复行不再一起连续的时候,uniq将服务删除所有的重复行。
经过排序后,所有相同的行都在相邻,因此uniq可以正常删除重复行。
第二,用sort+awk命令,注意,单纯awk同样不行,原因同上。
sort -k2n file | awk '{if ($0!=line) print;line=$0}'
当然,自己把管道后面的代码重新设计一下,可能不需要sort命令先排序。
第三,用sort+sed命令,同样需要sort命令先排序。
sort -k2n file | sed '$!N; /^\(.*\)\n\1$/!P; D'
最后,附一个必须先用sort排序的文本的例子,
当然,这个需要用sort排序的原因是很简单,就是后面算法设计的时候的“局部性”,相同的行可能分散出现在不同的区域,一旦有新的相同行出现,那么前面的已经出现的记录就被覆盖了,看了这个例子就好理解。
ffffffffffffffffff
ffffffffffffffffff
eeeeeeeeeeeeeeeeeeee
fffffffffffffffffff
eeeeeeeeeeeeeeeeeeee
eeeeeeeeeeeeeeeeeeee
gggggggggggggggggggg
其实,这是我随便打进去的几行字,没想到就是必须用sort的很好例子,大家可以自己试试看。
参考推荐:
linux去除内容重复行,Linux删除文本中的重复行 - 米扑博客相关推荐
- linux cp 排除文件,cp、tar命令排除文件和子目录 - 米扑博客
测试树形目录 $ cd mimvp-blog/ $ tree . |____111.txt |____222.txt |____333.txt |____folder01 | |____111.txt ...
- shell 删除文本中的重复行(sort+uniq/awk/sed) (方法=效率啊)
From: http://churuimin425.blog.163.com/blog/static/341298772012230112956712/ 删除文本中的重复行(sort+uniq/awk ...
- linux sed去除重复,删除文本中的重复行(sort+uniq/awk/sed)
在进行文本处理的时候,我们经常遇到要删除重复行的情况.那怎么解决呢? 下面就是三种常见方法? 第一,用sort+uniq,注意,单纯uniq是不行的. shell> sort file | un ...
- linux删除文本中长度小于行_系统学习Linux 的文件与目录
「历史文章」写文章的那天是生信星球陪你的第49天 你想找辆共享单车,发现满街都是别家车,没有一辆你能骑. 你想学点生信,搜了"初学者教程",满眼尽是高大上,没有一句能看懂. 终于 ...
- php txt删除重复行,php – 删除文本文件中的重复行
问题是每行末尾的新行字符.因为在最后一行的末尾没有新行字符,所以它与其他行不同. 因此,只需在读取文件时删除它们,然后在再次保存文件时添加: $lines = file('test.txt', FIL ...
- linux快速切换目录命令,Linux在命令行快速切换目录 - 米扑博客
今天在微博上看到一个用命令行快速切换目录的文章,比之前自己的解决方案好了非常多,必须记录下来分享下. 每天在命令行下,一大部分的工作都是一遍又一遍的输入 cd ~/some/very/deep/oft ...
- linux 指令效率,Linux15个命令,大幅提高工作效率 - 米扑博客
Linux 15个命令神器 ag.tig.mycli.jq.shellcheck.fzf.fpp.htop.glances.axel.sz/rz.cloc.tmux.script/scriptrepl ...
- 十大实用linux脚本,5个超实用的Shell脚本 - 米扑博客
分享5个shell脚本实例,大家可以借鉴下里面的思路,看下有没另外一种实现方式. 1.定时清空文件内容,定时记录文件大小 #!/bin/bash ########################### ...
- linux降低磁盘的读,Linux磁盘I/O优化:vm.dirty_ratio - 米扑博客
Linux 文件缓存是一项重要的性能改进,在大多数情况下,读缓存在绝大多数情况下是有益无害的(程序可以直接从RAM中读取数据).写缓存比较复杂,Linux内核将磁盘写入缓存,过段时间再异步将它们刷新到 ...
最新文章
- python怎么写文件-Python 读写文件
- RabbitMQ 消息确认机制 以及 原理解析
- html绘图环境,HTML_HTML5 在canvas中绘制文本附效果图,一、绘制文本 在绘图环境中提 - phpStudy...
- 【渝粤教育】国家开放大学2019年春季 2080现代教育思想 参考试题
- 读取串口 :javax.comm 2.0 windows下Eclipse的配置
- oracle中的and用法,Oracle bitand( )函数简介
- PowerBI最全可视化视图打包和DEMO汇总
- 大数据_Hbase-API访问_Java操作Hbase_数据操作_表删除_表获取所有数据---Hbase工作笔记0014
- 移动互联网时代,学iOS开发好吗
- 如何git-cherry-pick仅更改某些文件?
- 程序集与托管模块的概念
- 极客大学架构师训练营 性能测试 性能优化 第七次作业
- 正交试验软件测试用例设计方法【建议收藏】
- PDF太大怎么办?缩小PDF的4种常用方法
- 原型工具XSTAR与AXURE对比
- 解析微信小程序码的地址scene
- Android学习笔记七之ContentProvider
- 编程乐趣:获取12306的所有车站电报码
- vfp计算机sql,浅析VFP与SQL的应用(计算机科学与技术毕业论文)
- DDD为什么能火起来?和微服务有啥关系?