去除重复行的方法有很多,这里介绍三种。

测试文本:

[root@172-0-10-222 myscripts]# cat testfile
andy 123456
hanna 123456
hello world
welcome fuck
andy 123456
hello world
andy andy这其中,有andy 123456和hello world是重复的。

(1)使用sort、uniq命令去除重复行

[root@172-0-10-222 myscripts]# cat testfile | sort | uniq
andy 123456
andy andy
hanna 123456
hello world
welcome fuck

这里是先将每一行进行默认规则排序,然后把重复的行去掉。

(2)使用awk数组去除重复行

[root@172-0-10-222 myscripts]# cat testfile | awk '!arr[$0]++{print $0}'
andy 123456
hanna 123456
hello world
welcome fuck
andy andy也可以简写成 cat testfile | awk '!arr[$0]++'

分析:将每一行数据作为数组的下标,某下标x第一次出现的时候arr[x]为0,第二次,第三次,。。。,第n次出现的时候arr[x]不为0。这里,!arr[$0]++是选择第一次出现的行进行打印输出。

(3)使用awk数组去除重复行详细写法

[root@172-0-10-222 myscripts]# cat testfile | awk '{arr[$0]=1}END{for(i in arr){print i}}'
welcome fuck
hanna 123456
andy 123456
hello world
andy andy

分析:以每一行作为数组下标给数组赋值,重复行下标就会替换掉前面的下标。然后输出留下来的下标即可。

案例:去除重复号码行

号码文件

[root@172-0-10-222 myscripts]# cat testfile
andy 15871731153
hanna 15387876543
hello 15578765389
welcome 15871731153
andy 13987273647
hello 15871731153
andy 15871731153

去除文件中号码重复的行

[root@172-0-10-222 myscripts]# cat testfile | awk '!arr[$2]++'
andy 15871731153
hanna 15387876543
hello 15578765389
andy 13987273647

shell脚本--awk数组实现去除重复行相关推荐

  1. shell脚本--awk数组入门案例

    awk数组在处理文本的时候非常有用,数组的形式也是:数组名[下标],比如arr[a],arr[b].注意,awk数组的下标不仅仅是数字,可以是很多字符.awk数组遍历的时候通常使用 for i in ...

  2. linux排列去重复的命令,实例详细说明linux下去除重复行命令uniq

    一,uniq干什么用的 文本中的重复行,基本上不是我们所要的,所以就要去除掉.linux下有其他命令可以去除重复行,但是我觉得uniq还是比较方便的一个.使用uniq的时候要注意以下二点 1,对文本操 ...

  3. linux shell 文件去除重复行

    原始文本文件 $ cat test jason jason jason fffff jason 方法一:sort -u 去除重复后 sort -u test fffff jason 注意顺序被打乱 方 ...

  4. 去除html重复的元素 js,js数组中去除重复值的几种方法

    在日常开发中,我们可能会遇到将一个数组中里面的重复值去除,那么,我就将我自己所学习到的几种方法分享出来 去除数组重复值方法: 1,利用indexOf()方法去除 思路:创建一个新数组,然后循环要去重的 ...

  5. python3 文本文件内容去除重复行

    环境:python3.8 import shutil# 文件去除重复行 def remove_duplicates(path):lines_seen = set()outfile = open(f&q ...

  6. menisa mysql_实例详细说明linux下去除重复行命令uniq

    一,uniq干什么用的 文本中的重复行,基本上不是我们所要的,所以就要去除掉.linux下有其他命令可以去除重复行,但是我觉得uniq还是比较方便的一个.使用uniq的时候要注意以下二点 1,对文本操 ...

  7. php自动合并,php实现合并数组并去除重复的方法

    php实现合并数组并去除重复的方法 发布时间:2020-08-12 10:35:05 来源:亿速云 阅读:99 作者:小新 这篇文章主要介绍了php实现合并数组并去除重复的方法,具有一定借鉴价值,需要 ...

  8. shell脚本中数组的使用_Shell脚本中的数组

    shell脚本中数组的使用 Knowing how to work with arrays in shell scripts will help you work with larger datase ...

  9. 文本 去除重复行(sublime Text3 ,正则表达式)

    文本 去除重复行(sublime Text3 ,正则表达式) 去除重复行的方法很多,这里通过正则表达式实现: 农林牧渔子类 农林牧渔子类 农林牧渔子类 农林牧渔子类 卫生和社会工作子类 卫生和社会工作 ...

最新文章

  1. 图像传感器与信号处理——详解CCD与CMOS图像传感器
  2. 轻舟智航发布Driven-by-QCraft第三代自动驾驶硬件方案
  3. java 写文件时,输入换行字符.
  4. java 跨平台 ios_OGEngine发布跨平台版本,支持iOS及Android
  5. 【离散数学】单向连通和弱连通的区别
  6. Function Maps: A Flexible Representation of Maps Between Shapes
  7. python在类内部使用装饰器_python – 如何在类中使用装饰器
  8. 纹理坐标不在[0,1]内时的纹理效果
  9. hopfield tsp matlab,TSP问题—Hopfield神经网络算法
  10. 高中职教学专业计算机,中职计算机专业教学的现状与对策
  11. 【CityHunter】游戏流程设计及技术要点
  12. magisk安装失败_俄罗斯官改MIUI MiRoom安装刷入教程
  13. 德莱联盟(判断两点是否相交 nyist)
  14. W10的AndroidStudio4.0.1的下载安装与配置
  15. Task Office for Mac(GTD办公软件)
  16. openssl bio
  17. C语言中关于四舍五入的计算方法
  18. vue项目首屏加载慢解决方案
  19. 小程序 Base64转换字符串
  20. 【代码随想录】Day38~Day46动态规划

热门文章

  1. 2016年javascript值得参看的51本图书
  2. 基于Windows的 wininet 网络库 写的访问服务器接口的函数
  3. 入坑大法_input不可以前端编辑但是可以后台传值
  4. php的符号有什么作用是什么,PHP中的@符号有什么用?
  5. WPBeginner 6岁–回顾过去,展望未来
  6. ACM 14670 脸盆大哥的木桶 排序
  7. jlabel中html文字颜色,JLabel html文本忽略setFont
  8. C语言中双引号和单引号区别之一
  9. 独立产品灵感周刊 DecoHack #031 - 用 AI 给黑白照片上色哪家好?
  10. IoT的趋势2020,见证智能音箱的发展