Saya memiliki file dengan satu kolom dengan nama yang berulang beberapa kali. Saya ingin menyingkat setiap pengulangan menjadi satu, sambil menjaga pengulangan lainnya dengan nama yang sama yang tidak berdekatan dengan pengulangan lainnya dengan nama yang sama.
Misalnya saya ingin mengubah sisi kiri ke sisi kanan:
Golgb1 Golgb1
Golgb1 Akna
Golgb1 Spata20
Golgb1 Golgb1
Golgb1 Akna
Akna
Akna
Akna
Spata20
Spata20
Spata20
Golgb1
Golgb1
Golgb1
Akna
Akna
Akna
Inilah yang telah saya gunakan: perl -ne 'print if ++$k{$_}==1' file.txt > file2.txt
Namun, metode ini hanya membuat satu perwakilan dari kiri (yaitu Golb1 dan Akna tidak diulang).
Apakah ada cara untuk menyimpan nama-nama unik untuk setiap blok, sambil menjaga nama-nama yang berulang dalam beberapa blok yang tidak berdekatan?