Linux Uniq检查及删除重复出现的行列
Linux 删除 出现 重复 检查 行列 uniq
2023-09-14 09:09:03 时间
如果你主要是在命令行上工作,并且每天处理大量的文本文件,那么你应该了解下 uniq 命令~
☑ 该命令会帮助你轻松地从文件中找到重复的行。它不仅用于查找重复项,而且我们还可以使用它来删除重复项,显示重复项的出现次数,只显示重复的行,只显示唯一的行等。由于 uniq 命令是 GNU coreutils 包的一部分,所以它预装在大多数 Linux 发行版中,让我们不需要费心安装。来看一些实际的例子。
☑ 请注意,除非重复行是相邻的,否则 uniq 不会删除它们。因此你可能需要先对它们进行排序,或将排序命令与 uniq 组合以获得结果。
uniq 可检查文本文件中重复出现的行列
uniq 命令删除文件中的重复行。 uniq 命令读取由 InFile 参数指定的标准输入或文件。该命令首先比较相邻的行,然后除去第二行和该行的后续副本。
命令格式
uniq [-cdu][-f<栏位>][-s<字符位置>][-w<字符位置>][--help][--version][输入文件][输出文件]
常用命令选项
-c或--count 在每列旁边显示该行重复出现的次数。
-d或--repeated 仅显示重复出现的行列。
-i 忽略大小写字符的不同。
-f<栏位>或--skip-fields=<栏位> 忽略比较指定的栏位。
-s<字符位置>或--skip-chars=<字符位置> 忽略比较指定的字符。
-u或--unique 仅显示出一次的行列。
-w<字符位置>或--check-chars=<字符位置> 指定要比较的字符。
--help 显示帮助。
--version 显示版本信息。
[输入文件] 指定已排序好的文本文件。如果不指定此项,则从标准读取数据;
[输出文件] 指定输出的文件。如果不指定此选项,则将内容显示到标准输出设备(显示终端)。
参考实例
// 重复的行并不相邻时,uniq 命令是不起作用的,即若文件内容为以下时,uniq 命令不起作用:
[root@localhost ~]# cat 1.txt
test 30
hello 40
linux 50
test 30
[root@localhost ~]# uniq -c 1.txt //还是显示两边test
[root@localhost ~]# sort 1.txt | uniq -c
1 hello 40
1 linux 50
2 test 30
显示重复的行:
[root@localhost ~]# sort 1.txt | uniq -d
test 30
No one is the best growth, come on!
相关文章
- [SVN] svn在linux下的使用(svn命令行)ubuntu 删除 新增 添加 提交 状态查询 恢复
- 【Linux】nfs 服务的exportfs命令的简介
- linux批量改名
- Linux添加/删除用户和用户组
- linux(centos8):用tr替换或删除字符
- chkconfig用法 LINUX
- 【Linux基础】VI命令模式下删除拷贝与粘贴
- 【学习总结】快速上手Linux玩转典型应用-第7章-WebServer安装和配置讲解
- linux基础:-和--的区别
- linux sed命令使用:删除第一行、前两行,最后一行、最后两行(文件、命令行管道均适用)
- Linux sed删除文件注释行并删除空行
- Linux shell删除变量
- Linux 创建和删除目录命令mkdir、rmdir
- linux userdel删除用户命令
- Linux下C++11的线程类用法(可连接线程和可分离线程thread)
- 【Linux 内核 内存管理】内存管理系统调用 ④ ( 代码示例 | mmap 创建内存映射 | munmap 删除内存映射 )
- Linux命令:删除与恢复命令
- linux软链接的创建、删除和更新
- linux命令操作之按间批量删除文件,删除n天前的文件
- vmware虚拟机上linux操作系统进行tty1~tty6切换方法和具体步骤
- Linux 显示隐藏目录或隐藏文件的占用空间
- Linux创建、删除新用户并赋予root权限
- 如何在 Linux 中删除超大的(100-200GB)文件
- 【看表情包学Linux】了解操作系统 | 目录内容的显示 | 目录跳转 | 基本创建与删除操作