shell 删除文本中的重复行(sort+uniq/awk/sed) (方法=效率啊)
From: http://churuimin425.blog.163.com/blog/static/341298772012230112956712/
三种常见方法:
第一,用sort+uniq,注意,单纯uniq是不行的。
shell> sort -k2n file | uniq > a.out |
这里我做了个简单的测试,当file中的重复行不再一起的时候,uniq将服务删除所有的重复行。经过排序后,所有相同的行都在相邻,因此unqi可以正常删除重复行。
第二,用sort+awk命令,注意,单纯awk同样不行,原因同上。
shell> sort -k2n file | awk '{if ($0!=line) print;line=$0}' |
当然,自己把管道后面的代码重新设计一下,可能不需要sort命令先排序拉。
第三,用sort+sed命令,同样需要sort命令先排序。
shell> sort -k2n file | sed '$!N; /^\(.*\)\n\1$/!P; D' |
最后附一个必须先用sort排序的文本的例子,当然,这个需要用sort排序的原因是很简单,就是后面算法设计的时候的“局部性”,相同的行可能分散出现在不同的区域,一旦有新的相同行出现,那么前面的已经出现的记录就被覆盖了,看了这个例子就好理解拉。
ffffffffffffffffff ffffffffffffffffff eeeeeeeeeeeeeeeeeeee fffffffffffffffffff eeeeeeeeeeeeeeeeeeee eeeeeeeeeeeeeeeeeeee gggggggggggggggggggg |
其实,这是我随便打进去的几行字,没想到就是必须用sort的很好例子,大家可以自己试试看。
参考资料:
[1] SED单行脚本快速参考
http://linux.chinaitlab.com/administer/381792.html
[2] 如何删除重复的行(sed或awk)
http://www.linuxsir.org/bbs/showthread.php?t=132848
shell 删除文本中的重复行(sort+uniq/awk/sed) (方法=效率啊)相关推荐
- linux sed去除重复,删除文本中的重复行(sort+uniq/awk/sed)
在进行文本处理的时候,我们经常遇到要删除重复行的情况.那怎么解决呢? 下面就是三种常见方法? 第一,用sort+uniq,注意,单纯uniq是不行的. shell> sort file | un ...
- linux去除内容重复行,Linux删除文本中的重复行 - 米扑博客
在进行文本处理的时候,我们经常遇到要删除重复行的情况.那怎么解决呢? 下面就是三种常见方法? 第一,用sort+uniq,注意,单纯uniq是不行的,uniq对于重复行不上下连续时不起作用 因此,先对 ...
- NPP++去除文本中的重复行
方法一: 使用正则表达是的方式: ^(.*?)$\s+?^(?=.*^\1$) 如下图格式 方法二: 选择菜单TextFX -- TextFX Tools: 1.选择"TextFx ...
- C++ 实现去除文本中的重复行
例题:有一个文本1.txt,内容有N行: 1111 3333 1111 3333 2222-- 写一段c++的代码可以将重复行去除,内容变为: 1111 3333 2222-- 代码如下: #incl ...
- Excel删除文本中任意位置所有空格的3种方法比较
今天小编要分享的是删除文本任意位置的空格的3种方法,如下图文本的左中右都有空格 一. 1.为了对比先复制一列出来 2.然后呢直接按Ctrl+H打开替换对话框 3.再然后我们输入查找内容空格,然后全 ...
- linux删除文本中长度小于行_系统学习Linux 的文件与目录
「历史文章」写文章的那天是生信星球陪你的第49天 你想找辆共享单车,发现满街都是别家车,没有一辆你能骑. 你想学点生信,搜了"初学者教程",满眼尽是高大上,没有一句能看懂. 终于 ...
- php txt删除重复行,php – 删除文本文件中的重复行
问题是每行末尾的新行字符.因为在最后一行的末尾没有新行字符,所以它与其他行不同. 因此,只需在读取文件时删除它们,然后在再次保存文件时添加: $lines = file('test.txt', FIL ...
- 删除数据表中的重复行
原表数据 select subscrbid, prcplnid,min(begtime),min(endtime),count(*) from NEW_TRAIN_TAB_SUBSCRBPRCPLN ...
- linux 下的文本处理——除去重复行uniq命令
原文地址:http://blog.51yip.com/shell/1022.html 一,uniq干什么用的 文本中的重复行,基本上不是我们所要的,所以就要去除掉.linux下有其他命令可以去除重复行 ...
最新文章
- 图卷积和消息传递理论的可视化详解
- android xml 文件里面的宽度Match_Parent 被 替换成了wrap_content
- 2008_10_28_星期二
- Android Gradle manifestPlaceholders 占位符详解
- 10taskkill无法终止进程_?进程的状态转换
- Mybatis各种模糊查询及#和$区别
- ios label文字行间距_iOS- 设置label的行间距字体间距
- oracle 数据库文件丢失
- 无所不能的『十五郎』向您致敬!!!
- Istio Proxy【Envoy扩展】详解
- failed to load ldlinux.c32
- 算法学习——K近邻算法
- VS2015社区版、企业版、专业版下载官网地址
- 问题记录:linux权限不足(Permission denied)
- Win10桌面整理小体会
- 【用积分求不规则面积+抛物线方程】HDU-1071 The area
- 驯服烂代码_驯服业力,SauceLabs和Internet Explorer:揭秘之旅
- 联想st510开卡软件_固态硬盘修复(慧荣sm2246XT主控开卡教程)
- 改进YOLOv5系列:13.添加CrissCrossAttention注意力机制
- IE8 松散耦合进程框架(Loosely-Coupled IE (LCIE)--特性介绍
热门文章
- Windows Server Backup 2012设置备份周期
- Wireshark图解教程
- Dottext.Web.UI.Handlers.BlogExistingPageHandler
- 针对数据科学家和数据工程师的4条SQL技巧
- 在FAANG面试中破解堆算法
- 数据不平衡处理_如何处理多类不平衡数据说不可以
- 莫烦Pytorch神经网络第二章代码修改
- leetcode 941. 有效的山脉数组
- 上海区块链会议演讲ppt_所以您想参加会议演讲吗? 这是我的建议。
- 以太坊ipfs_动手:Infura和以太坊上的IPFS入门