千锋教育-做有情怀、有良心、有品质的职业教育机构

手机站
千锋教育

千锋学习站 | 随时随地免费学

千锋教育

扫一扫进入千锋手机站

领取全套视频
千锋教育

关注千锋学习站小程序
随时随地免费学习课程

当前位置:首页  >  技术干货  > linux命令删除重复行

linux命令删除重复行

来源:千锋教育
发布人:xqq
时间: 2023-07-21 10:36:11 1689906971

linux:如何对文本里的相同行进行去重

通常如果我们想获取一个文件里不重复的行的时候,我们可以直接通过sort-u命令,先把文件排序,然后去掉连续的重复行就行。

主要用到的命令有sort,uniq和cut。其中,sort主要功能是排序,uniq主要功能是实现相邻文本行的去重,cut可以从文本行中提取相应的文本列(简单地说,就是按列操作文本行)。

默认情况下uniq只会检索相邻的重复数据从而去重。在/tmp/uniq.txt中虽然“onmpw web site” 有三条,但是其中一条是和其他两条不相邻的,所以只去重了一条,同理“error php function”也是这种情况。

【shell】Linux删除文本重复行

通常如果我们想获取一个文件里不重复的行的时候,我们可以直接通过sort-u命令,先把文件排序,然后去掉连续的重复行就行。

awk -F[-,] {for(i=1;i=NF;i++)a[$i,NR]++}{for(j in a){split(j,b,SUBSEP);if(b[2]==NR)printf b[1] } printf \n} 关键词.txt 去除重复后.txt以此例测试通过。

利用linux命令行进行文本按行去重并按重复次数排序linux命令行提供了非常强大的文本处理功能,组合利用linux命令能实现好多强大的功能。本文这里举例说明如何利用linux命令行进行文本按行去重并按重复次数排序。

启动Linux系统,用ssh工具(xshell或者SecureCRT等)连上Linux系统。在shell脚本启动时或者在脚本内都可以添加这些调试选项。测试脚本debug.sh,代码如图所示。在脚本启动时添加调试选项。

Linux下常用文本处理命令

uniq命令去重,只有两行出现重复,而且是相邻的两行,如果不相邻,即使出现两行一模一样,不会去重。

应用实例如果我们看到一个没有后缀的文件grap,可以使用下面命令: $ file grap grap:English text 此时系统显示这是一个英文文本文件。需要说明的是,file命令不能探测包括图形、音频、视频等多媒体文件类型。

(1) $ cat -n 文件 -n 表示显示行号。(2) $ cat -b 文件 -b 表示显示行号,但是不包括空行。(3) $ cat -A 文件 -A 表示显示出不可见的符号,如空格、tab键等。

在linux中grep命令是非常有用的,它和管道(|)配合使用,非常强大,用于搜索文本文件.如果想要在几个文本文件中查找一字符串,可以使用‘grep’命令。‘grep’在文本中搜索指定的字符串。

sed命令是一个面向行处理的编辑器,可以和正则表达式配合使用,附上较全面的sed命令使用教程。

千锋教育是专业的IT培训机构,提供java培训、大数据培训python培训web前端培训等专业IT技能提升服务,如果您有IT培训需求,欢迎联系千锋教育。

tags: linux去重
声明:本站稿件版权均属千锋教育所有,未经许可不得擅自转载。
10年以上业内强师集结,手把手带你蜕变精英
请您保持通讯畅通,专属学习老师24小时内将与您1V1沟通
免费领取
今日已有369人领取成功
刘同学 138****2860 刚刚成功领取
王同学 131****2015 刚刚成功领取
张同学 133****4652 刚刚成功领取
李同学 135****8607 刚刚成功领取
杨同学 132****5667 刚刚成功领取
岳同学 134****6652 刚刚成功领取
梁同学 157****2950 刚刚成功领取
刘同学 189****1015 刚刚成功领取
张同学 155****4678 刚刚成功领取
邹同学 139****2907 刚刚成功领取
董同学 138****2867 刚刚成功领取
周同学 136****3602 刚刚成功领取
相关推荐HOT