## **uniq**
从输入文件或者标准输入中筛选相邻的匹配行并写入到输出文件或标准输出。
不附加任何选项时匹配行将在首次出现处被合并
>[info] uniq \[选项\]... \[文件\]
> > \-c, --count 在每行前加上表示相应行目出现次数的前缀编号
> > \-d, --repeated 只输出重复的行
> > \-u, --unique 只显示唯一的行
> > //
> > \-D, --all-repeated\[=delimit-method 显示所有重复的行
> > delimit-method={none(default),prepend,separate}
> > 以空行为界限
> > \-f, --skip-fields=N 比较时跳过前N 列
> > \-i, --ignore-case 在比较的时候不区分大小写
> > \-s, --skip-chars=N 比较时跳过前N 个字符
> > \-z, --zero-terminated 使用'\\0'作为行结束符,而不是新换行
> > \-w, --check-chars=N 对每行第N 个字符以后的内容不作对照
~~~
cat uniqtest #测试文件
this is a test this is a test
this is a test
i am tank
i love tank
i love tank
this is a test
whom have a try
WhoM have a try
you have a try
i want to abroad
those are good men
we are good men
uniq -c file.txt || uniq的一个特性,检查重复行的时候,只会检查相邻的行。重复数据,肯定有很多不是相邻在一起的
sort file.txt | uniq -c || 这样就可以解决上个例子中提到的问题
uniq -d -c file.txt || uniq -d 只显示重复的行
uniq -D file.txt || uniq -D 只显示重复的行,并且把重复几行都显示出来。他不能和-c一起使用
uniq -f 1 -c file.txt || 在这里those只有一行,显示的却是重复了,这是因为,-f 1 忽略了第一列,检查重复从第二字段开始的。
uniq -i -c file.txt || 检查的时候,不区分大小写
uniq -s 4 -c file.txt || 检查的时候,不考虑前4个字符,这样whom have a try 就和 you have a try 就一样了。
uniq -u file.txt || 去重复的项,然后全部显示出来
uniq -w 2 -c file.txt || 对每行第2个字符以后的内容不作检查,所以i am tank 根 i love tank就一样了
~~~
>[danger] 若域中为先空字符(通常包括空格以及制表符),然后非空字符,域中字符前的空字符将被跳过。
> 提示:uniq 不会检查重复的行,除非它们是相邻的行。
> 如果您想先对输入排序,使用没有uniq 的"sort -u"。
> 同时,比较服从"LC\_COLLATE" 变量所指定的规则。
- 基础
- 文档帮助
- 计算机基础知识
- Centos文件系统
- Linux基础知识入门
- Linux命令帮助文档
- 常见命令
- 其他
- vim编辑器
- 编辑命令
- 末行模式
- 常见命令
- 配置文件
- 用户useradd
- 用户login.defs
- 环境变量设置
- 常用命令
- 帮助命令
- 管道符
- 关机和重启
- 目录操作
- 目录结构
- ls
- cd
- pwd
- mkdir
- rmdir
- cp
- rm
- mv
- 文件操作
- touch
- ln 重点
- stat 重点
- file
- cat
- tac
- nl
- more
- less
- head
- tail
- 文件处理工具
- wc
- cut
- sort
- uniq
- 文件属性(权限)
- chmod
- chown
- chgrp
- umask
- sudo权限
- chattr权限
- chattr
- lsattr
- 文件特殊权限
- SetUID
- SetGID
- StickyBIT粘着位
- ACL权限
- 搜索命令
- 命令搜索whereis
- grep
- 拓展
- 元字符
- egrep
- locate
- find
- type
- 压缩和解压
- zip和unzip
- gzip和gunzip
- bzip2和bunzip2
- tar
- 网络管理
- netstat网络状态
- 消息邮件
- 软件包安装
- 源码包
- 二进制包
- rpm手工安装
- yum在线安装
- 系统管理
- 常用命令
- shell内建命令
- pstree
- bash 特性
- history 历史命令
- 补全、快捷键
- 命令行展开
- 命令执行结果
- alias命令别名
- 通配符
- 重定向及管道
- 计算机运算
- bash 中的变量的种类
- bash 的配置文件
- bash中的算术运算
- bash条件测试
- 用户和组管理
- 用户管理
- useradd
- usermod
- userdel
- passwd
- pwck
- chage
- chsh
- chfn
- id
- finger
- su
- 用户组管理
- groupadd
- groupmod
- groupdel
- gpasswd
- groups
- 用户查看
- whoami
- w
- who
- last
- lastlog
- lastb
- 网络管理
- 相关命令
- 防火墙
- 文件拷贝
- 软件工具
- 软件包管理
- Gcc软件安装
- 其他
- redis
- 相关资料
- swoole
- IDE工具
- vscode + Xdebug 断点调试
- vscode 远程链接
- git
- 不想输入账户密码
- window电脑问题
- 浏览器https访问不了
- php
- 常用函数
- rabbitMQ
- mysql
- 触发器
- 常用更新语句
- 忘记密码处理方法
- 查询
- 数据迁移
- 加索引不加锁
- 查询优化
- 基础知识
- 进程线程协程
- tp6
- 注册自定义命令空间
- Ajax异常错误
- nginx
- 域名变成ip问题
- 概念知识点
- QPS,TPS,RT概念
- Nginx服务大量TIME-WAIT
