zoukankan      html  css  js  c++  java
  • 每天一个Linux命令-uniq.

    uniq命令大部分情况下都是要与sort命令结合使用的、即先排序、然后再uniq命令

    常用的一些实例如下:

    -i 选项,可以在比较时忽略大小写

    -c选项,最为常用,会统计出每个重复项,重复的次数

    文件样例test.txt:

    001
    aaa
    001
    http://www.cnblogs.com/5201351

    1、去除重复项之后再输出: 

    sort 1.txt | uniq

    2、仅输出含有重复项的行:

    sort 1.txt | uniq -d               #相当于输出重得项后,再去重输出,即输出的每个条目都是独一无二的条目,
    sort 1.txt | uniq -D               #输出全部的重复项,一个条目的重复项有多少个就输出多少

    3、 只输出没有重复项的值(即排序后独一无二的行)

    sort 1.txt | uniq -u

    ++++++++++++++++++++++++++++++++++++++++

    uniq的高级用法:

    样例文件,md5result.txt

    61763cc8db82201197154feea2988086  1.txt
    b026324c6904b2a9cb4b88d6d61c81d1  2.txt
    61763cc8db82201197154feea2988086  3.txt
    61763cc8db82201197154feea2988086  4.txt

    1、在比较时,只根据前面的32个字符比较,这里因为第1行和第3行的前32个字符一样,因此只会被视为重复项:

    [5201351@localhost ~]$ sort md5result.txt |uniq -w 32
    61763cc8db82201197154feea2988086  1.txt
    b026324c6904b2a9cb4b88d6d61c81d1  2.txt

    2、在1的基础上,如果需要输出全部重复项(仅前32个字符),就得加上-D选项:

    [5201351@localhost ~]$ sort md5result.txt |uniq -w 32 -D
    61763cc8db82201197154feea2988086  1.txt
    61763cc8db82201197154feea2988086  3.txt
    61763cc8db82201197154feea2988086  4.txt

    3、对于重复的项,除了第一个,其他的都显示出来(可以用于删除同样内容的文件案例,重复文件只保留第一个)

    [5201351@localhost ~]$ sort md5result.txt |uniq -w 32 -D |awk 'a[$1]++'
    61763cc8db82201197154feea2988086  3.txt
    61763cc8db82201197154feea2988086  4.txt

    尊重别人的劳动成果 转载请务必注明出处:https://www.cnblogs.com/5201351/p/13420140.html

  • 相关阅读:
    Sublime Text 2 && MinGW G++ On Windows
    [zz]linux IO(function open read write close)
    PHP的基本常识(1)
    helloworld.c 的一次系统旅行(1) 读书笔记
    PHP 仿博客园 个人博客(1)
    配置 .htaccess 单点入口
    仿博客园个人博客(3)基本完成
    PHP的基本常识(2)
    JQuery 获得所有表单值
    PHP 仿博客园 个人博客(2)
  • 原文地址:https://www.cnblogs.com/5201351/p/13420140.html
Copyright © 2011-2022 走看看