Linux uniq 命令用于处理文本内容中的重复行

这里我们只介绍其常用参数,其完整用法可参见man uniq

例如,我们有如下文件内容:

>>> cat log.txt
_______________
hello
HEllo
world
world
hello

使用uniq 命令,不加任何参数处理,注意,这里的两行hello 并没有相邻,所以最终还是显示了两行hello,而两行world 是相邻的,所以去掉了其中一行world

>>> uniq log.txt
hello
HEllo
world
hello

如果想将不相邻的相同内容也去重,一般需要与sort 命令配合使用,先排序,再去重,如下(这时所有的重复行都被去重了):

>>> cat log.txt | sort| uniq
____________________________
HEllo
hello
world

使用-s参数,忽略前N 个字符(此处忽略了前2 个字符):

>>> cat log.txt | sort| uniq -s 2
_________________________________
HEllo
world

使用-i 参数,忽略大小写(最终只剩下了大写的):

>>> cat log.txt | sort| uniq -i
_______________________________
HEllo
world

使用-d 参数,只输出重复的行HEllo 没有重复,所以没有输出):

>>> cat log.txt | sort| uniq -d
_______________________________
hello
world

使用-u 参数,与-d 参数相反,只输出不重复的行HEllo 没有重复,所以输出):

>>> cat log.txt | sort| uniq -u
———————————————————————————————
HEllo

使用-c 参数,计算重复行的次数,如下(第一列为出现的次数):

>>> cat log.txt | sort| uniq -c
_______________________________
1 HEllo
2 hello
2 world

按照重复次数进行反向排序

cat log.txt | sort| uniq -c| sort -nr
—————————————————————————————————————
2 world
2 hello
1 HEllo

下面总结以上介绍到的参数:

参数 含义
-s N 忽略前N 的字符
-i 忽略大小写
-d 只输出重复的行
-u 只输出不重复的行
-c 对重复的行进行计数

(完。)

最新文章

  1. iOS常用公共方法
  2. [Eclipse] - 集成Tomcat热加载插件
  3. [js] js和C# 时间日期格式转换
  4. windows 硬盘格式不一样的文件移动 导致拒绝访问 权限丢失 0字节解决办法
  5. 使用CSS3制作72个webapp图标
  6. 【转】maven命令背后是如何工作的
  7. SQLite数据库简介(转)
  8. 2013年信1204-1-2班小学期<程序设计技能训练>作品
  9. python image模块
  10. Linux Kernel TUNSETIFF释放后重用本地拒绝服务漏洞(CVE-2013-4343)
  11. kettle 连接 mysql 出错 Driver class 'org.gjt.mm.mysql.Driver' could not be found, make sure the ……
  12. 1.unix网络编程基础知识
  13. uav 11258 String Partition (DP)
  14. js函数基础知识
  15. [转]Linux网络配置命令ifconfig输出信息解析
  16. OSI网络模型
  17. js 正则表达式验证网站域名
  18. MYSQL表情存储数据库报错
  19. 关于z-index的那些事儿
  20. e-olymp Problem8352 Taxi

热门文章

  1. javascript中的符号 == 和 === 的区别
  2. 【Redis】集群教程(Windows)
  3. ANTLR随笔(二)
  4. Face The Right Way POJ - 3276(区间)
  5. 查看手机wifi密码
  6. 原生js弹力球
  7. Spring 中使用 WebSocket 笔记
  8. SQL基础系列(2)-内置函数--转载w3school
  9. 并发系列64章(TPL 数据流)第七章
  10. 【FreeMarker】【程序开发】数据模型,对象包装