Mám soubor s jedním sloupcem s názvy, které se každý několikrát opakují. Chci zhustit každé opakování do jednoho a zároveň zachovat všechna ostatní opakování stejného jména, která nesousedí s jinými opakováními stejného jména.
Např. Chci otočit levou stranu na pravou:
Golgb1 Golgb1
Golgb1 Akna
Golgb1 Spata20
Golgb1 Golgb1
Golgb1 Akna
Akna
Akna
Akna
Spata20
Spata20
Spata20
Golgb1
Golgb1
Golgb1
Akna
Akna
Akna
Toto je to, co používám:perl -ne 'print if ++$k{$_}==1' file.txt > file2.txt
Tato metoda však zachovává pouze jednoho zástupce zleva (tj. Golb1 a Akna se neopakují).
Existuje způsob, jak zachovat jedinečné názvy pro každý blok a zároveň zachovat názvy, které se opakují ve více, nesousedících blocích?
Přijatá odpověď:
uniq
udělá to za vás:
$ uniq inputfile
Golgb1
Akna
Spata20
Golgb1
Akna