我有一个带有一列的文件,每个文件的名称重复多次。我想将每个重复压缩为一个,同时保留与相同名称的其他重复不相邻的任何相同名称的重复。
例如,我想将左侧转向右侧:
Golgb1 Golgb1
Golgb1 Akna
Golgb1 Spata20
Golgb1 Golgb1
Golgb1 Akna
Akna
Akna
Akna
Spata20
Spata20
Spata20
Golgb1
Golgb1
Golgb1
Akna
Akna
Akna
这就是我一直在使用的perl -ne 'print if ++$k{$_}==1' file.txt > file2.txt
方法:但是,此方法仅使左边代表一个(即,Golb1和Akna不再重复)。
有没有一种方法可以为每个块保留唯一的名称,同时保留在多个不相邻的块中重复的名称?