莫愁前路无知己,天下谁人不识君。。。。

Linux中去重用的命令(uniq/sort)

上一篇 / 下一篇  2017-04-13 18:40:17 / 个人分类:软件面试问题

关于Linux,其实作为测试来说,并不陌生,工作中常用的比较的多是查看日志,启动系统服务,搭建环境等等,可能我的接触的不多。搭建环境的话,一般公司不用你的。但面试的时候一般会问到这方面,对于老司机的你们来说,我就不多说啦。今天主要讨论利用Linux来去重。主要用到命令sort结合uniq。
uniq:可以去除经过排序过的文件中的重复行,它是连续出现的重复,所以经常看到与sort一起用。
[root@xiaoqiang ~]#uniq[-icu]
选项与参数:-i   :忽略大小写字符的不同;-c  :进行计数-u  :只显示唯一的行

cat xiao.txt
ABC
ABD
ABBD
ABC

uniq xiao.txt
ABC
ABD
ABBD
ABC
#没有删除任何数据

cat xiao.txt
ABBD
ABC
ABC
ABD

sort xiao.txt|uniq
ABBD
ABC
ABD

sort xiao.txt|uniq -u
ABBD
ABD
#显示没有重复的行

sort xiao.txt|uniq -d
ABC
#显示有重复的行

sort xiao.txt|uniq -uc
1 ABBD
1 ABD

sort xiao.txt|uniq -dc
2 ABC

cat da.txt
abc
abc
ABC
abc

uniq da.txt
abc
ABC
abc

sort da.txt|uniq
ABC
abc

sort -u da.txt
ABC
abc

有时候与wc -l结合使用
cat xia.txt
a
b
c
c
d
b
sort xia.txt|uniq -u|wc -l
2

sort xia.txt|uniq|wc -l
4

sort -u xia.txt|wc -l
4
下期简单的介绍一下,python去重的方法,面试中也有问到过,笔试也见过。


TAG: Linux

 

评分:0

我来说两句

Open Toolbar