【问题标题】: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