uniq -u 取出只出现过一次的元素,用来求差集
uniq -c group by
uniq -d 取出出现次数大于等于2的元素,用来求交集
sort 1 2 和cat 1 2 本质是一样的,只不过sort排序了
所以求交集并集差集的关键不是在sort, 而是在uniq后面的选项
如果单纯只有uniq, 就是单纯的去重,其实就是取并集
所以sort a b|uniq 这个命令表示的含义有
1.对两个文件排序并去重,等同cat a b|sort -u
特别注意想对文件整体去重一定要先排序,uniq只能对相邻重复元素去重
2.取两个文件的并集


想起之前遇到过的几个面试题
1.在一份日志中统计出所有包含error的行中出现的ip, 统计他们出现的次数,并倒序排序,找出出现频次最高的三个ip
2.有a b c三个文件,求在a中存在但在b c中不存在的行
分析:b c中不存在,就要将b c中元素翻倍,然后统计只出现过一次的行,因为a中行没有翻倍过,所以a中特有的行一定会只出现一次
sort a b b c c| uniq -u
本文详细介绍了uniq命令的不同选项及其应用场景,包括如何使用uniq-c进行分组计数,使用uniq-d求交集,使用uniq-u求差集。此外还讨论了如何结合sort命令进行文件内容的整理与比较操作,例如求两个文件的并集、交集和差集。
403

被折叠的 条评论
为什么被折叠?



