Tôi có một tệp có một cột với các tên lặp lại một số lần mỗi cột. Tôi muốn ngưng tụ mỗi lần lặp lại thành một, trong khi vẫn giữ bất kỳ sự lặp lại nào khác có cùng tên không liền kề với các lần lặp khác cùng tên.
Ví dụ: tôi muốn xoay bên trái sang bên phải:
Golgb1 Golgb1
Golgb1 Akna
Golgb1 Spata20
Golgb1 Golgb1
Golgb1 Akna
Akna
Akna
Akna
Spata20
Spata20
Spata20
Golgb1
Golgb1
Golgb1
Akna
Akna
Akna
Đây là những gì tôi đã sử dụng: perl -ne 'print if ++$k{$_}==1' file.txt > file2.txt
Tuy nhiên, phương pháp này chỉ giữ một đại diện từ bên trái (tức là Golb1 và Akna không được lặp lại).
Có cách nào để giữ các tên duy nhất cho mỗi khối, trong khi vẫn giữ các tên lặp lại trong nhiều khối không liền kề không?