一、uniq命令的作用
报告或忽略文件中的重复行,一般与sort命令结合使用
二、使用格式
语法:uniq (选项) (参数)
选项列表:
- -c或–count:在每列旁边显示该行重复出现的次数
- -d或–repeated:仅显示重复出现的行列
- -f<栏位>或–skip-fields=<栏位>:忽略比较指定的栏位
- -s<字符位置>或–skip-chars=<字符位置>:忽略比较指定的字符
- -u或–unique:仅显示出一次的行列
- -w<字符位置>或–check-chars=<字符位置>:指定要比较的字符
参数:
- 输入文件:指定要去除重复行的文件。如果不指定此项,则从标准读取数据
- 输出文件:指定要去除重复行后的内容要写入的输出文件。如果不指定此选项,则将内容显示到标准输出设备(显示终端)
三、举例
初始数据:text.txt
abcdefg
abcdefg
higklmn
opqrstu
abcdscd
vwxyz
3.1 获得去重后的行数据
uniq text.txt
输出结果:
abcdefg
higklmn
opqrstu
abcdscd
vwxyz
3.2 排序➕去重
方法1
sort text.txt | uniq
方法2:
sort -u text.txt
输出结果:
abcdefg
abcdscd
higklmn
opqrstu
vwxyz
3.3 只获取并显示不重复的行数据
uniq -u text.txt
输出结果:不显示abcdefg
这种重复的行数据
higklmn
opqrstu
abcdscd
vwxyz
3.4 排序+显示不重复的行
sort text.txt | uniq -u
输出结果:
abcdscd
higklmn
opqrstu
vwxyz
3.5 统计各行在文件中出现的次数
sort text.txt | uniq -c
输出结果:
2 abcdefg
1 abcdscd
1 higklmn
1 opqrstu
1 vwxyz
3.6 在文件中找出重复的行
sort text.txt | uniq -d
输出结果:
abcdefg