uniq命令

整理以作备忘。

一.工作方式及默认功能

 uniq命令操作的是相邻行。

uniq命令只筛选相邻的匹配行并输出或写入文件,不附加任何选项时匹配行将在首次出现处被合并。

如以下文件:

 

http://www.csdn.net
http://www.csdn.net/blog
http://www.csdn.net/blog/201312
http://www.csdn.net/info
http://www.csdn.net/app
http://www.csdn.net/info
http://www.csdn.net
http://www.csdn.net/app/2131
http://www.youku.com/news/1
http://www.youku.com/news/2
http://www.youku.com/news/3
http://www.youku.com/news
http://www.youku.com/news
http://www.csdn.net
不添加任何选项的情况下,操作结果为:

john@john-IdeaPad:~/c_workspace$ uniq  visited_url.db
http://www.csdn.net
http://www.csdn.net/blog
http://www.csdn.net/blog/201312
http://www.csdn.net/info
http://www.csdn.net/app
http://www.csdn.net/info
http://www.csdn.net
http://www.csdn.net/app/2131
http://www.youku.com/news/1
http://www.youku.com/news/2
http://www.youku.com/news/3
http://www.youku.com/news
http://www.csdn.net

可以看到标记为红色的重复行被合并了,而标记为绿色的行未被合并,因为uniq处理的是相邻行。

二.选项功能

   1.uniq -c filename

         与 uniq --count filename相同,作用是在没行前输出改行的出现次数,相邻的重复行被合并后统计重复次数。

       

john@john-IdeaPad:~/c_workspace$ uniq -c visited_url.db
      1 http://www.csdn.net
      1 http://www.csdn.net/blog
      1 http://www.csdn.net/blog/201312
      1 http://www.csdn.net/info
      1 http://www.csdn.net/app
      1 http://www.csdn.net/info
      1 http://www.csdn.net
      1 http://www.csdn.net/app/2131
      1 http://www.youku.com/news/1
      1 http://www.youku.com/news/2
      1 http://www.youku.com/news/3
      2 http://www.youku.com/news
      1 http://www.csdn.net

   2.uniq -d filename

              与uniq -repeated filename相同,只输出相邻重复行合并后的结果。

john@john-IdeaPad:~/c_workspace$ uniq -d visited_url.db
http://www.youku.com/news

   3.uniq -D filename

            与 uniq --all-repeated filename相同,输出相邻重复行,默认不合并。

john@john-IdeaPad:~/c_workspace$ uniq -D visited_url.db
http://www.youku.com/news
http://www.youku.com/news


   其他选项如下图所示:

       

  -f, --skip-fields=N	比较时跳过前N 列
  -i, --ignore-case	在比较的时候不区分大小写
  -s, --skip-chars=N	比较时跳过前N 个字符
  -u, --unique		只显示唯一的行
  -z, --zero-terminated	使用'\0'作为行结束符,而不是新换行
  -w, --check-chars=N	对每行第N 个字符以后的内容不作对照
      --help		显示此帮助信息并退出
      --version		显示版本信息并退出

还是那句话,用多了就记住啦

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值