shell命令--uniq

时间秒杀一切 提交于 2020-01-22 17:37:16

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有话说』:快来扫一扫下面链接的二维码,加入我们吧!

标签
易学教程内所有资源均来自网络或用户发布的内容,如有违反法律规定的内容欢迎反馈
该文章没有解决你所遇到的问题?点击提问,说说你的问题,让更多的人一起探讨吧!