首页 / LINUX / linux uniq命令用法
linux uniq命令用法
内容导读
互联网集市收集整理的这篇技术教程文章主要介绍了linux uniq命令用法,小编现在分享给大家,供广大互联网技能从业者学习和参考。文章包含3723字,纯文字阅读大概需要6分钟。
内容图文
![linux uniq命令用法](/upload/InfoBanner/zyjiaocheng/968/7b3fcb44bff54b08bb9b9d30f37cebb9.jpg)
用法:uniq [选项]... [文件]
从输入文件或者标准输入中筛选相邻的匹配行并写入到输出文件或标准输出。
不附加任何选项时匹配行将在首次出现处被合并。
长选项必须使用的参数对于短选项时也是必需使用的。
-c, --count 在每行前加上表示相应行目出现次数的前缀编号
-d, --repeated 只输出重复的行,2次或2次以上的。
-D, --all-repeated[=delimit-method 显示所有重复的行
delimit-method={none(default),prepend,separate}
以空行为界限
-f, --skip-fields=N 比较时跳过前N 列
-i, --ignore-case 在比较的时候不区分大小写
-s, --skip-chars=N 比较时跳过前N 个字符
-u, --unique 只显示唯一的行
-z, --zero-terminated 使用'\0'作为行结束符,而不是新换行
-w, --check-chars=N 对每行第N 个字符以后的内容不作对照
--help 显示此帮助信息并退出
--version 显示版本信息并退出
若域中为先空字符(通常包括空格以及制表符),然后非空字符,域中字符前的空字符将被跳过。
提示:uniq 不会检查重复的行,除非它们是相邻的行。
如果您想先对输入排序,使用没有uniq 的"sort -u"。
测试:
不加参数只对相邻的相同行内容去重
[root@bqh-118 ~]# cat qc.log 192.168.43.117 192.168.43.119 192.168.43.118 192.168.43.118 192.168.43.117 192.168.43.117 192.168.43.119 192.168.43.110 [root@bqh-118 ~]# uniq qc.log 192.168.43.117 192.168.43.119 192.168.43.118 192.168.43.117 192.168.43.119 192.168.43.110
通过sort让重复的行相邻:
[root@bqh-118 ~]# sort qc.log 192.168.43.110 192.168.43.117 192.168.43.117 192.168.43.117 192.168.43.118 192.168.43.118 192.168.43.119 192.168.43.119
uniq配合sort来去重:
[root@bqh-118 ~]# sort qc.log |uniq 192.168.43.110 192.168.43.117 192.168.43.118 192.168.43.119 [root@bqh-118 ~]# sort -u qc.log 192.168.43.110 192.168.43.117 192.168.43.118 192.168.43.119
当然我们也可以通sort -u file实现去重
去重计数:
[root@bqh-118 ~]# sort qc.log |uniq -c 1 192.168.43.110 3 192.168.43.117 2 192.168.43.118 2 192.168.43.119 [root@bqh-118 ~]# sort qc.log 192.168.43.110 192.168.43.117 192.168.43.117 192.168.43.117 192.168.43.118 192.168.43.118 192.168.43.119 192.168.43.119
查看重复的项:
[root@bqh-118 ~]# sort qc.log |uniq -d 192.168.43.117 192.168.43.118 192.168.43.119
查看所有重复的项:
[root@bqh-118 ~]# sort qc.log |uniq -D 192.168.43.117 192.168.43.117 192.168.43.117 192.168.43.118 192.168.43.118 192.168.43.119 192.168.43.119
不区分大小写,去除重复的项:
[root@bqh-118 ~]# cat qc1.log apple
APple BANAN banan grape orange Orange
bqh jyw
bqh1 jyw [root@bqh-118 ~]# uniq -i qc1.log apple BANAN grape orange
bqh jyw
bqh1 jyw
跳过第一列:
[root@bqh-118 ~]# uniq -f1 qc1.log apple bqh jyw
bqh1 jyw
跳过每行的第一个字符:
[root@bqh-118 ~]# uniq -s1 qc1.log apple APple BANAN banan grape orange bqh jyw bqh1 jyw
案例:处理一下qc2.log文件内容,将域名取出来并根据域名进行计数排序处理。
[root@bqh-118 ~]# cat qc2.log http://www.baidu.com http://www.xiaobai.com http://www.etiantian.org http://www.jyw.com http://www.jyw.com http://www.xiaobai.com http://www.etiantian.org http://www.jyw.com http://www.baidu.com http://www.baidu.com http://www.jyw.com http://www.etiantian.org [root@bqh-118 ~]# awk -F / '{print $3}' qc2.log|sort|uniq -c|sort -r 4 www.jyw.com 3 www.etiantian.org 3 www.baidu.com 2 www.xiaobai.com
方法二:cut方法
[root@bqh-118 ~]# cut -d / -f3 qc2.log |sort -r|uniq -c 2 www.xiaobai.com 4 www.jyw.com 3 www.etiantian.org 3 www.baidu.com [root@bqh-118 ~]# cut -d / -f3 qc2.log |sort -r|uniq -c|sort -r 4 www.jyw.com 3 www.etiantian.org 3 www.baidu.com 2 www.xiaobai.com
当然还有其它方法,在这里就简单介绍一下常用的方法。
内容总结
以上是互联网集市为您收集整理的linux uniq命令用法全部内容,希望文章能够帮你解决linux uniq命令用法所遇到的程序开发问题。 如果觉得互联网集市技术教程内容还不错,欢迎将互联网集市网站推荐给程序员好友。
内容备注
版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 gblab@vip.qq.com 举报,一经查实,本站将立刻删除。
内容手机端
扫描二维码推送至手机访问。