使用 unix 实用程序删除连续的重复行



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

O B 
O B 
C D 
T V
O B

我希望输出为:

O B 
C D
T V
O B 

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

你可以做:

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

最新更新