一条命令搞定:

 

awk '!a[$0]++' file

如果是第一次出现a[$0]++的值为0(假),而!a[$0]++的值就为1(真),之后就执行print $0

第二次或者两次以上的出现a[$0]++的值就为大于0的整数值(真),例如1,2,3...,而!a[$0]++的值就为0(假),之后就不执行print $0操作

awk '!($0 in a){a[$0];print $0}'

pattern为!($0 in a),Action为{a[$0];print $0}

分析:

1.执行第一行时的a的数组为空,($0 in a)为假,!($0 in a)为真。执行Action,a[$0]就存在了a[row1],打印第一行

2.执行第二行时的a的数组为a[row1],如果a[row2] 是a[$0]中的元素,!($0 in a)为真为假,不执行Ation。如果a[row2]不是a[$0]中的元素,执行Action,a[$0]中增加元素(a[row1],a[row2]),打印第二行。

3.重复执行类似的第二步骤。达到的去重的效果。

最新文章

  1. CRUD查询
  2. Jenkins在Windows系统dotnet平台持续集成
  3. jquery mobile radio,checkbox button 样式设置
  4. PHP: 手把手编写自己的 MVC 框架实例教程
  5. dataserver test code
  6. WireShark系列: 使用WireShark过滤条件抓取特定数据流(zz)
  7. SQLiteAPI函数详解
  8. Java 中的泛型详解-Java编程思想
  9. 如何自定义Intent.createChooser的显示结果
  10. JAVA HashMap的实现原理
  11. Eralng的常用数据结构
  12. 欧朋Opera 浏览器(打不开百度)提示“您的连接不是私密连接”,解决办法
  13. arcgis for JavaScript API 4.5与4.3的区别
  14. CWMP开源代码研究6——libcwmp动态库开发
  15. windows搭建zabbix agent
  16. VMware Workstation Pro网络配置(WiFi配置等)
  17. 解析如何在C语言中调用shell命令的实现方法【转】
  18. ML: 聚类算法R包-网格聚类
  19. 借助 Resharper 和 StyleCop 让代码更整洁
  20. 【Android M】预制的 Google GMS包

热门文章

  1. LAMP环境搭建和配置(2)
  2. 公共钥匙盒 ccf
  3. go语言:获取字符串长度
  4. Java图片高保真缩放工具类
  5. ubuntu16.04上在使用搜狗输入法时,按shift不能正常切换中英文
  6. SQL Server导入数据报错"无法在只读列“Id”中插入数据"
  7. 一次web请求发生的神奇故事
  8. Direct2D 第5篇 绘制图像
  9. linux守护进程配置文件
  10. Inno setup 卸载时删除程序文件夹(文件)