मेरे पास नामों के साथ एक कॉलम के साथ एक फ़ाइल है जो प्रत्येक बार कई बार दोहराती है। मैं प्रत्येक पुनरावृत्ति को एक में समाहित करना चाहता हूं, जबकि एक ही नाम के किसी भी अन्य दोहराव को बनाए रखना जो उसी नाम के अन्य दोहराव से सटे नहीं हैं।
जैसे मैं बाईं ओर दाईं ओर मुड़ना चाहता हूं:
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 और अकाना दोहराया नहीं जाता है)।
क्या प्रत्येक ब्लॉक के लिए अद्वितीय नाम रखने का एक तरीका है, जबकि कई, गैर-आसन्न ब्लॉकों में दोहराए जाने वाले नाम रखते हैं?