使用 unix 实用程序删除连续的重复行
Delete consecutive duplicate lines using unix utilities
这听起来很简单,但实际上要复杂一些。我想使用一个 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
这听起来很简单,但实际上要复杂一些。我想使用一个 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