zoukankan      html  css  js  c++  java
  • 去除重复命令uniq

    命令uniq经常用于去除一个文本中的重复行。用sort命令也可以去除重复行,但二者有较大区别:用sort去除重复行时,sort将整个文本中的多个重复行去除,仅保留一行,而uniq会将多个连续重复的行去除,仅保留一行。

    • 命令格式:

    uniq [option] [input [output]]

    • 常用选项:

    c:输出重复行的重复次数。

    d:仅输出重复的行。

    f:忽略一些字段,只比较指定的字段。

    i:忽略大小写。

    s:忽略一些字符,只比较指定的字符(从s指定的字符处开始对比)。

    u:输出不重复的行。

    w:指定要比较的字符位置。

    用法示例:

    (1)直接使用uniq命令:

    [root@localhost test]# cat uniq_test 
    1111111111111
    2222222222222
    3333333333333
    2222222222222
    2222222222222
    2222222222222
    4444444444444
    [root@localhost test]# uniq uniq_test 
    1111111111111
    2222222222222
    3333333333333
    2222222222222
    4444444444444

    (2)使用选项c和d输出重复行信息:

    [root@localhost test]# uniq -c uniq_test 
          1 1111111111111
          1 2222222222222
          1 3333333333333
          3 2222222222222
          1 4444444444444
    [root@localhost test]# uniq -d uniq_test 
    2222222222222

    (3)使用选项u输出文件中没有重复的行:

    [root@localhost test]# uniq -u uniq_test 
    1111111111111
    2222222222222
    3333333333333
    4444444444444

    (4)有时可能只需要对几个字段或几个字符进行比较,此时可以结合选项f和选项s去除这些重复的行:

    [root@localhost test]# cat uniq_test1
    aaa     bbbAA
    aaa     bbbAA
    aaa     cbbAA
    bba     abbAA
    BDB     AAABB
    BCB     AAABB
    ABB     AACBB
    #使用选项f忽略第1个字段,然后使用s3指定从第2个字段的第3个字符出开始对比
    [root@localhost test]# uniq -f1 -s3 uniq_test1
    aaa     bbbAA
    BDB     AAABB
    ABB     AACBB
  • 相关阅读:
    Zabbix的SNMPTrap监控配置
    Delphi 7下最小化到系统托盘
    解决来QQ消息后歌曲音量降低问题
    转载——用Mixer API函数调节控制面板的音频设置
    git branch -D 大写的D 删除分支
    gitlab+TortoiseGit中使用SSH
    SQL 高级查询
    正则表达式校验文件路径
    显示所选择文件的路径地址
    Type InvokeMember()用法简介
  • 原文地址:https://www.cnblogs.com/nufangrensheng/p/3464670.html
Copyright © 2011-2022 走看看