【问题标题】:Delete consecutive duplicate lines using unix utilities使用UNIX实用程序删除连续重复行
【发布时间】:2018-09-16 21:49:26
【问题描述】:

这听起来很简单,但实际上要复杂一些。我想使用一个unix实用程序来删除连续的重复项,留下原来的。但是,我还想保留在原始文件之后不会立即出现的其他副本。例如,如果我们有以下行:

O B 
O B 
C D 
T V
O B

我希望输出是:

O B 
C D
T V
O B 

虽然第一行和最后一行相同,但它们不是连续的,因此我想将它们保留为唯一条目。

【问题讨论】:

    标签: bash unix duplicates utility


    【解决方案1】:

    你可以这样做:

    cat file1 | uniq > file2
    

    或更简洁地说:

    uniq file1 file2
    

    假设 file1 包含

    O B
    O B
    C D
    T V
    O B
    

    更多详情,请参阅man uniq。特别要注意uniq 命令接受两个参数,语法如下:uniq [OPTION]... [INPUT [OUTPUT]]

    最后,如果您想删除所有重复项(并对文件进行排序),您可以这样做:

    sort -u file1 > file2
    

    【讨论】:

      猜你喜欢
      • 2020-03-30
      • 2018-08-11
      • 1970-01-01
      • 1970-01-01
      • 2018-12-01
      • 1970-01-01
      • 2021-09-14
      • 2021-12-20
      • 2013-10-28
      相关资源
      最近更新 更多