Linux中怎么删除重复的文本行

发布时间:2021-08-02 15:56:28 作者:Leah
来源:亿速云 阅读:540

Linux中怎么删除重复的文本行,相信很多没有经验的人对此束手无策,为此本文总结了问题出现的原因和解决方法,通过这篇文章希望你能解决这个问题。

1、sort命令 - 在Linux和类Unix系统中对文本文件行进行排序。

2、uniq命令 - 在Linux或Unix上运行或省略重复的行

Linux中怎么删除重复的文本行

使用Sort,Uniq和Shell管道删除重复行

使用以下语法:

sort {file-name} | uniq -u  sort file.log | uniq -u

使用uniq删除重复的行

以下是使用cat命令显示的名为garbage.txt的示例测试文件:

linuxidc@linuxidc:~/www.linuxidc.com$ cat linuxidc.com.txt

样本输出:

Linux公社(www.linuxidc.com)于2006年9月25日注册并开通网站  Linux现在已经成为一种广受关注和支持的一种操作系统  IDC是互联网数据中心,LinuxIDC就是关于Linux的数据中心。  实时发布***Linux资讯  Linux公社是专业的Linux系统门户网站  实时发布***Linux资讯,包括Linux、Ubuntu、Fedora、RedHat  Linux教程、Linux认证、SUSE Linux、Android、Oracle、Hadoop等技术。  实时发布***Linux资讯  实时发布***Linux资讯

从Linux上的文本文件中删除重复的行

键入以下命令以删除所有重复行:

linuxidc@linuxidc:~/www.linuxidc.com$ sort linuxidc.com.txt | uniq -u

样本输出: 

IDC是互联网数据中心,LinuxIDC就是关于Linux的数据中心。 Linux公社(www.linuxidc.com)于2006年9月25日注册并开通网站  Linux公社是专业的Linux系统门户网站  Linux教程、Linux认证、SUSE Linux、Android、Oracle、Hadoop等技术。  Linux现在已经成为一种广受关注和支持的一种操作系统  实时发布***Linux资讯,包括Linux、Ubuntu、Fedora、RedHat

Linux中怎么删除重复的文本行

在这里,

-u:检查是否有严格的排序,删除所有重复的行。

在Linux上排序文件内容

我们假设您有一个名为users.txt的文件:

cat linuxidc.txt  Linux Idc 22/11/72  Zhang San 12/01/69  Li Ai  30/12/88  A Bao 15/08/76  Chen Xiao  05/06/77  Shen Lin 13/02/75  Da Cen 21/10/73  Zhang San 12/01/69

让我们排序,运行:

sort linuxidc.txt

接下来按姓氏排序,运行:

sort -r linuxidc.txt

想以相反的顺序排序? 尝试:

sort +2 linuxidc.txt

Linux中怎么删除重复的文本行

您可以在排序文件时消除文件中的任何重复条目,运行:

sort +2 -u linuxidc.txt  sort -u linuxidc.txt

没有任何选项,sort会比较文件中的整行,并以ASCII顺序输出。 您可以使用选项控制输出。

如何使用uniq命令删除Linux上的重复行

使用以下文件:

linuxidc@linuxidc:~/www.linuxidc.com$ cat -n linuxidc.txt

样本输出: 

1 www.linuxidc.com     2 Linux公社     3 linuxidc     4 linuxidc.com     5 ------------     6 5566778899     7 5566778899     8 5566778899

uniq命令从文件中删除第8行,并将结果放在名为linuxidc.com.txt的文件中:

uniq linuxidc.txt linuxidc.com.txt

验证它:

cat -n linuxidc.com.txt

Linux中怎么删除重复的文本行

如何使用uniq命令删除重复的行

如何删除.txt文件中的重复行并将结果保存到新文件

请尝试以下任一语法:

sort shuru_wenjian | uniq > shuchu_wenjian  sort shuru_wenjian | uniq -u | tee shuchu_wenjian

总结

sort命令用于对文本文件的行进行排序,uniq过滤从文本文件中复制相邻的行。 这些命令有许多有用的选项。 我建议您通过键入以下man命令来阅读手册页:

man sort  man uniq

看完上述内容,你们掌握Linux中怎么删除重复的文本行的方法了吗?如果还想学到更多技能或想了解更多相关内容,欢迎关注亿速云行业资讯频道,感谢各位的阅读!

推荐阅读:
  1. Linux中怎么查找、删除重复文件
  2. SQLServe中怎么删除重复行

免责声明:本站发布的内容(图片、视频和文字)以原创、转载和分享为主,文章观点不代表本网站立场,如果涉及侵权请联系站长邮箱:is@yisu.com进行举报,并提供相关证据,一经查实,将立刻删除涉嫌侵权内容。

linux

上一篇:php解析xml方法的实例讲解

下一篇:Shell 脚本中重复执行如何解决

相关阅读

您好,登录后才能下订单哦!

密码登录
登录注册
其他方式登录
点击 登录注册 即表示同意《亿速云用户服务条款》