sort求交集并集差集uniq -u    取出只出现过⼀次的元素,⽤来求差集
sort命令排序
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

版权声明:本站内容均来自互联网,仅供演示用,请勿用于商业和其他非法用途。如果侵犯了您的权益请与我们联系QQ:729038198,我们将在24小时内删除。