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

  • 相关阅读:
    家长如何助力孩子适应小学生活
    一年级线上家长会
    gdb常用调试命令
    二叉树-后序遍历
    机器人
    Oracle创建只读账号的详细步骤
    ORACLE RAC日常运维-调整RAC+DG环境redo大小
    Redis 延迟分析
    oracle dataguard 重启步骤
    catalog start with + switch database to copy的妙用
  • 原文地址:https://www.cnblogs.com/5201351/p/13420140.html
Copyright © 2011-2022 走看看