आउटपुट से लाइनों को निकालने के लिए एक अजीब (या sed) एक-लाइनर खोजना यदि पहला फ़ील्ड डुप्लिकेट है।यदि फ़ील्ड डुप्लिकेट है तो लाइन निकालें
डुप्लिकेट लाइनों मैंने देखा है दूर करने के लिए एक उदाहरण है:
awk 'a !~ $0; {a=$0}'
कोई भाग्य के साथ एक आधार के लिए उपयोग करने की कोशिश की (मैं $ 0 के बदलते सोचा $ 1 के लिए चाल करना होगा, लेकिन काम नहीं लग रहा था)।
आप लाइनों को हटाने के लिए कहा से 'यदि पहले क्षेत्र मैचों' ... क्या? मैंने 'पिछली इनपुट लाइन में पहले फ़ील्ड के समान मूल्य' माना है; एक और व्यक्ति ने 'कुछ विशेष पैटर्न' ग्रहण किया। आप क्या चाहते थे? –
आपका बदला संस्करण 'awk' a! ~ $ 1; {ए = $ 1} ''* मेरे लिए काम करता है * आसन्न डुप्लिकेट के लिए * (एक क्रमबद्ध फ़ाइल)। ** जोनाथन लेफ्लर के ** संस्करण का लाभ यह है कि यह एक असुरक्षित फ़ाइल पर डुप्लिकेट को हटाने के लिए काम करेगा, लेकिन संभावित रूप से बड़ी सरणी बनाने के खर्च पर। –
मुझे लगता है कि मेरी मुख्य समस्या यह थी कि मैं कुछ अलग-अलग प्रकार के फील्ड सेपरेटर्स से निपट रहा था और एफएस को ठीक से परिभाषित नहीं कर रहा था – Kyle