5
順序を維持しながら隣接する重複行を削除する
それぞれが何回も繰り返される名前が1列のファイルがあります。同じ名前の他の繰り返しに隣接していない同じ名前の他の繰り返しを維持しながら、各繰り返しを1つに圧縮したい。 例えば、私は左側を右側に向けたいです: 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 ただし、この方法では左から1つの代表のみが保持されます(つまり、Golb1とAknaは繰り返されません)。 複数の隣接しないブロックで繰り返される名前を維持しながら、各ブロックの一意の名前を維持する方法はありますか?