shell命令--uniq
0、uniq命令的专属图床
点此快速打开文章【图床_shell命令uniq】
1、uniq命令的功能说明
uniq
命令用于检查及删除文本文件中重复出现的行列,一般与sort
命令结合使用。uniq
可检查文本文件中重复出现的行列。
2、uniq命令的语法格式
SYNOPSIS uniq [OPTION]... [INPUT [OUTPUT]]
3、uniq命令的选项说明
- -c或--count:在每列旁边显示该行重复出现的次数。
- -d或--repeated:仅显示重复出现的行列。
- -f<栏位>或--skip-fields=<栏位>:忽略比较指定的栏位。
- -s<字符位置>或--skip-chars=<字符位置>:忽略比较指定的字符。
- -u或--unique:仅显示出一次的行列。
- -w<字符位置>或--check-chars=<字符位置>:指定要比较的字符。
- --help:显示帮助。
- --version:显示版本信息。
- [输入文件]:指定已排序好的文本文件。如果不指定此项,则从标准读取数据;
- [输出文件]:指定输出的文件。如果不指定此选项,则将内容显示到标准输出设备(显示终端)。
4、uniq命令的实践操作
环境准备
cat >file1.txt <<'EOF' test 3 test 3 test 3 hello 1 linux 1 EOF cat >file2.txt <<'EOF' test 3 linux 1 test 3 hello 1 test 3 EOF cat file1.txt cat file2.txt
范例1:使用
uniq
命令删除重复的行uniq file1.txt -->和上面对比 uniq file2.txt -->和下面对比
可以发现,
file1.txt
文件有连续重复的行,使用uniq
,是可以去重的,而file2.txt
文件中都是不连续重复的,直接使用uniq
去不了重,咋整?哈哈,这里先卖个关子
范例2:参数
-c
:去重并统计次数uniq -c file1.txt -->检查文件并删除文件中重复出现的行,并在行首显示该行重复出现的次数 uniq -c file2.txt -->和上面对比一下
范例3:去掉重复的行并不相邻
还记得上一篇的sort命令吗,这里就用到它了,不太熟悉这个命令没关系,点击这里【shell命令--sort】查看
sort file2.txt -->用sort命令进行排序 sort file2.txt |uniq sort file1.txt |uniq -->和上面对比一下
『MineGi有话说』:快来扫一扫下面链接的二维码,加入我们吧!