最新消息:XAMPP默认安装之后是很不安全的,我们只需要点击左方菜单的 "安全"选项,按照向导操作即可完成安全设置。

Linux命令之uniq

XAMPP相关 admin 55浏览 0评论

uniq命令能够去除掉文件中相邻的重复内容行,

当没有选项时,只会将邻近的重复行合并为一个。

常跟sort一起使用:使用sort命令对文件排序,然后使用uniq命令去重并计数

1、功能说明

显示或忽略文件中重复的行。

2、语法格式

uniq [选项][文件]

3、选项解释

 -c  显示每行在文本中重复出现的次数
 -d  只显示重复的行
 -u  只显示没有重复的记录
 -D  仅显示重复的行,即出现次数 >=2 的行,且打印重复行的所有行
 --help    显示帮助信息并退出
 --version 显示版本信息并退出

4、参考实例

[root@xn test]# cat test.txt
北京 1.202.80.66
北京 1.202.80.66
云南 42.242.0.0
重庆 42.123.128.0
重庆 42.123.128.0
上海 211.80.0.0
浙江 58.100.0.0
成都 61.188.0.0
上海 211.80.0.0
  • 无参数去重文件
[root@xn test]# uniq test.txt
北京 1.202.80.66
云南 42.242.0.0
重庆 42.123.128.0
上海 211.80.0.0
浙江 58.100.0.0
成都 61.188.0.0
上海 211.80.0.0
从例子中可以看出,uniq只能对相邻的重复行进行去重
  • uniq结合sort命令,对排序文件去重
[root@xn test]# cat test.txt |sort | uniq
等价于sort test.txt | uniq
上海 211.80.0.0
云南 42.242.0.0
北京 1.202.80.66
成都 61.188.0.0
浙江 58.100.0.0
重庆 42.123.128.0
  • 排序之后删除重复行,同时在行首位置输出该行重复的次数
[root@xn test]# sort test.txt | uniq -c
2 上海 211.80.0.0
1 云南 42.242.0.0
2 北京 1.202.80.66
1 成都 61.188.0.0
1 浙江 58.100.0.0
2 重庆 42.123.128.0
  • 显示存在重复的行
[root@xn test]# sort test2.txt |uniq -d
上海 211.80.0.0
北京 1.202.80.66
重庆 42.123.128.0
  • 显示存在重复的行,并在行首显示该行重复的次数
[root@xn test]# sort test2.txt |uniq -dc
2 上海 211.80.0.0
2 北京 1.202.80.66
2 重庆 42.123.128.0
  • 显示不重复的行
[root@xn test]# sort test.txt | uniq -u
云南 42.242.0.0
成都 61.188.0.0
浙江 58.100.0.0
  • 显示重复的行,且显示重复行的所有行
[root@xn test]# sort test.txt | uniq -D
上海 211.80.0.0
上海 211.80.0.0
北京 1.202.80.66
北京 1.202.80.66
重庆 42.123.128.0
重庆 42.123.128.0

5、拓展命令

[root@xn test]# cat domain.txt
http://www.baidu.com/index.html
http://www.zhihu.com/index.html
http://www.zhihu.com/login.html
http://www.juejin.com/1.html
http://www.baidu.com/2.html
http://www.zhihu.com/3.html
将域名取出,并根据域名进行计数排序处理
[root@xn test]# cut -d '/' -f3 domain.txt |sort |uniq -c | sort -rn
3 www.zhihu.com
2 www.baidu.com
1 www.juejin.com
//上述命令等价于:
awk -F '/' '{print $3}' domain.txt |sort |uniq -c | sort -rn
awk命令后期讲解

转载请注明:XAMPP中文组官网 » Linux命令之uniq

您必须 登录 才能发表评论!