linux uniq
命令用于处理文本内容中的重复行
。
这里我们只介绍其常用参数,其完整用法可参见man uniq
。
例如,我们有如下文件内容:
>>> cat log.txt_______________helloHElloworldworldhello
使用uniq
命令,不加任何参数处理,注意,这里的两行hello
并没有相邻,所以最终还是显示了两行hello
,而两行world
是相邻的,所以去掉了其中一行world
:
>>> uniq log.txt helloHElloworldhello
如果想将不相邻的相同内容也去重,一般需要与sort
命令配合使用,先排序,再去重,如下(这时所有的重复行都被去重了):
>>> cat log.txt | sort| uniq____________________________HEllohelloworld
使用-s
参数,忽略前N 个字符(此处忽略了前2 个字符):
>>> cat log.txt | sort| uniq -s 2_________________________________HElloworld
使用-i
参数,忽略大小写(最终只剩下了大写的):
>>> cat log.txt | sort| uniq -i_______________________________HElloworld
使用-d
参数,只输出重复的行
(HEllo
没有重复,所以没有输出):
>>> cat log.txt | sort| uniq -d_______________________________helloworld
使用-u
参数,与-d
参数相反,只输出不重复的行
(HEllo
没有重复,所以输出):
>>> cat log.txt | sort| uniq -u———————————————————————————————HEllo
使用-c
参数,计算重复行的次数,如下(第一列为出现的次数):
>>> cat log.txt | sort| uniq -c_______________________________ 1 HEllo 2 hello 2 world
按照重复次数
进行反向排序
:
cat log.txt | sort| uniq -c| sort -nr————————————————————————————————————— 2 world 2 hello 1 HEllo
下面总结以上介绍到的参数:
参数 | 含义 |
---|---|
-s N | 忽略前N 的字符 |
-i | 忽略大小写 |
-d | 只输出重复的行 |
-u | 只输出不重复的行 |
-c | 对重复的行进行计数 |
(完。)
总结以上是内存溢出为你收集整理的linux uniq 命令实用手册全部内容,希望文章能够帮你解决linux uniq 命令实用手册所遇到的程序开发问题。
如果觉得内存溢出网站内容还不错,欢迎将内存溢出网站推荐给程序员好友。
欢迎分享,转载请注明来源:内存溢出
评论列表(0条)