uniq के साथ लिनक्स टेक्स्ट फ़ाइल में डुप्लिकेट डेटा कैसे खोजें

uniq के साथ लिनक्स टेक्स्ट फ़ाइल में डुप्लिकेट डेटा कैसे खोजें

क्या आपने कभी दोहराई गई पंक्तियों और डुप्लिकेट शब्दों वाली टेक्स्ट फ़ाइलें देखी हैं? हो सकता है कि आप नियमित रूप से कमांड आउटपुट के साथ काम करते हों और उन्हें अलग-अलग स्ट्रिंग्स के लिए फ़िल्टर करना चाहते हों। जब पाठ फ़ाइलों और लिनक्स में अनावश्यक डेटा को हटाने की बात आती है, तो uniq कमांड आपकी सबसे अच्छी शर्त है।





इस लेख में, हम एक टेक्स्ट फ़ाइल से डुप्लिकेट लाइनों को हटाने के लिए कमांड का उपयोग करने के तरीके के बारे में विस्तृत मार्गदर्शिका के साथ-साथ uniq कमांड पर गहराई से चर्चा करेंगे।





यूनिक कमांड क्या है?

Linux में uniq कमांड का उपयोग टेक्स्ट फ़ाइल में समान पंक्तियों को प्रदर्शित करने के लिए किया जाता है। यदि आप किसी टेक्स्ट फ़ाइल से डुप्लिकेट शब्दों या स्ट्रिंग्स को हटाना चाहते हैं तो यह कमांड मददगार हो सकती है। चूंकि uniq कमांड अनावश्यक प्रतियों को खोजने के लिए आसन्न पंक्तियों से मेल खाता है, यह केवल क्रमबद्ध पाठ फ़ाइलों के साथ काम करता है।





सौभाग्य से, आप पाइप कर सकते हैं तरह टेक्स्ट फ़ाइल को इस तरह व्यवस्थित करने के लिए uniq के साथ कमांड करें जो कमांड के अनुकूल हो। दोहराई गई पंक्तियों को प्रदर्शित करने के अलावा, uniq कमांड एक टेक्स्ट फ़ाइल में डुप्लिकेट लाइनों की घटना को भी गिन सकता है।

यूनिक कमांड का उपयोग कैसे करें

ऐसे कई विकल्प और झंडे हैं जिनका उपयोग आप uniq के साथ कर सकते हैं। उनमें से कुछ बुनियादी हैं और दोहराई गई पंक्तियों को प्रिंट करने जैसे सरल संचालन करते हैं, जबकि अन्य उन्नत उपयोगकर्ताओं के लिए हैं जो अक्सर लिनक्स पर टेक्स्ट फ़ाइलों के साथ काम करते हैं।



मूल सिंटैक्स

Uniq कमांड का मूल सिंटैक्स है:

uniq option input output

...कहां विकल्प कमांड के विशिष्ट तरीकों को लागू करने के लिए इस्तेमाल किया जाने वाला झंडा है, इनपुट प्रसंस्करण के लिए पाठ फ़ाइल है, और उत्पादन फ़ाइल का पथ है जो आउटपुट को संग्रहीत करेगा।





NS उत्पादन तर्क वैकल्पिक है और छोड़ा जा सकता है। यदि कोई उपयोगकर्ता इनपुट फ़ाइल निर्दिष्ट नहीं करता है, तो uniq मानक आउटपुट से इनपुट के रूप में डेटा लेता है। यह एक उपयोगकर्ता को uniq के साथ पाइप करने की अनुमति देता है अन्य लिनक्स कमांड .

उदाहरण पाठ फ़ाइल

हम टेक्स्ट फ़ाइल का उपयोग करेंगे डुप्लिकेट.txt कमांड के इनपुट के रूप में।





127.0.0.1 TCP
127.0.0.1 UDP
Do catch this
DO CATCH THIS
Don't match this
Don't catch this
This is a text file.
This is a text file.
THIS IS A TEXT FILE.
Unique lines are really rare.

ध्यान दें कि हमने पहले ही इस टेक्स्ट फ़ाइल को का उपयोग करके सॉर्ट किया है तरह आदेश। यदि आप किसी अन्य टेक्स्ट फ़ाइल के साथ काम कर रहे हैं, तो आप निम्न आदेश का उपयोग करके इसे सॉर्ट कर सकते हैं:

sort filename.txt > sorted.txt

डुप्लिकेट लाइनें हटाएं

यूनीक का सबसे बुनियादी उपयोग इनपुट से बार-बार स्ट्रिंग को हटाना और अद्वितीय आउटपुट प्रिंट करना है।

uniq duplicate.txt

आउटपुट:

ध्यान दें कि सिस्टम लाइन की दूसरी आवृत्ति प्रदर्शित नहीं करता है यह एक टेक्स्ट फ़ाइल है . साथ ही, उपरोक्त आदेश केवल फ़ाइल में अद्वितीय पंक्तियों को प्रिंट करता है और मूल पाठ फ़ाइल की सामग्री को प्रभावित नहीं करता है।

दोहराई गई पंक्तियों की गणना करें

टेक्स्ट फ़ाइल में दोहराई गई पंक्तियों की संख्या को आउटपुट करने के लिए, का उपयोग करें -सी डिफ़ॉल्ट कमांड के साथ ध्वज।

uniq -c duplicate.txt

आउटपुट:

सिस्टम टेक्स्ट फ़ाइल में मौजूद प्रत्येक पंक्ति की गिनती प्रदर्शित करता है। आप देख सकते हैं कि रेखा यह एक टेक्स्ट फ़ाइल है फ़ाइल में दो बार होता है। डिफ़ॉल्ट रूप से, uniq कमांड केस-संवेदी होता है।

टेक्स्ट फ़ाइल से केवल डुप्लीकेट लाइन प्रिंट करने के लिए, का उपयोग करें -डी झंडा। NS -डी के लिए खड़ा है डुप्लिकेट .

uniq -D duplicate.txt

सिस्टम निम्नानुसार आउटपुट प्रदर्शित करेगा।

This is a text file.
This is a text file.

डुप्लिकेट के लिए जाँच करते समय फ़ील्ड छोड़ें

यदि आप स्ट्रिंग्स का मिलान करते समय एक निश्चित संख्या में फ़ील्ड को छोड़ना चाहते हैं, तो आप इसका उपयोग कर सकते हैं -एफ आदेश के साथ झंडा। NS -एफ के लिए खड़ा है खेत .

निम्नलिखित पाठ फ़ाइल पर विचार करें फ़ील्ड.txt .

192.168.0.1 TCP
127.0.0.1 TCP
354.231.1.1 TCP
Linux FS
Windows FS
macOS FS

पहला फ़ील्ड छोड़ने के लिए:

uniq -f 1 fields.txt

आउटपुट:

192.168.0.1 TCP
Linux FS

उपरोक्त कमांड ने पहले फ़ील्ड (आईपी पते और ओएस नाम) को छोड़ दिया और दूसरे शब्द (टीसीपी और एफएस) से मिलान किया। फिर, यह आउटपुट के रूप में प्रत्येक मैच की पहली घटना को प्रदर्शित करता है।

तुलना करते समय वर्णों पर ध्यान न दें

लंघन क्षेत्रों की तरह, आप पात्रों को भी छोड़ सकते हैं। NS -एस ध्वज आपको डुप्लिकेट पंक्तियों से मेल खाते समय छोड़ने के लिए वर्णों की संख्या निर्दिष्ट करने की अनुमति देता है। यह सुविधा तब मदद करती है जब आप जिस डेटा के साथ काम कर रहे हैं वह सूची के रूप में निम्नानुसार है:

मेरे पास कौन सा मॉडल मदरबोर्ड है
1. First
2. Second
3. Second
4. Second
5. Third
6. Third
7. Fourth
8. Fifth

फ़ाइल में पहले दो वर्णों (सूची क्रमांकन) को अनदेखा करने के लिए list.txt :

uniq -s 2 list.txt

आउटपुट:

उपरोक्त आउटपुट में, पहले दो वर्णों को नज़रअंदाज़ कर दिया गया था और बाकी का मिलान अद्वितीय लाइनों के लिए किया गया था।

डुप्लिकेट के लिए पहले N वर्णों की संख्या जांचें

NS -में ध्वज आपको डुप्लिकेट के लिए केवल एक निश्चित संख्या में वर्णों की जांच करने की अनुमति देता है। उदाहरण के लिए:

uniq -w 2 duplicate.txt

उपरोक्त आदेश केवल पहले दो वर्णों से मेल खाएगा और यदि कोई हो तो अद्वितीय पंक्तियों को प्रिंट करेगा।

आउटपुट:

केस संवेदनशीलता निकालें

जैसा कि ऊपर उल्लेख किया गया है, एक फ़ाइल में लाइनों का मिलान करते समय uniq केस-संवेदी होता है। चरित्र मामले को अनदेखा करने के लिए, का उपयोग करें -मैं कमांड के साथ विकल्प।

uniq -i duplicate.txt

आप निम्न आउटपुट देखेंगे।

उपरोक्त आउटपुट में सूचना, uniq ने लाइनें प्रदर्शित नहीं की इसे पकड़ें तथा यह एक टेक्स्ट फ़ाइल है .

फ़ाइल में आउटपुट भेजें

फ़ाइल में uniq कमांड का आउटपुट भेजने के लिए, आप इसका उपयोग कर सकते हैं आउटपुट पुनर्निर्देशन ( > ) चरित्र इस प्रकार है:

uniq -i duplicate.txt > otherfile.txt

टेक्स्ट फ़ाइल में आउटपुट भेजते समय, सिस्टम कमांड के आउटपुट को प्रदर्शित नहीं करता है। आप का उपयोग करके नई फ़ाइल की सामग्री की जांच कर सकते हैं बिल्ली आदेश।

cat otherfile.txt

आप अन्य तरीकों का भी उपयोग कर सकते हैं Linux में किसी फ़ाइल को कमांड लाइन आउटपुट भेजें .

uniq . के साथ डुप्लिकेट डेटा का विश्लेषण करना

अधिकांश समय, लिनक्स सर्वर का प्रबंधन करते समय, आप या तो टर्मिनल पर काम कर रहे होंगे या टेक्स्ट फाइलों को संपादित कर रहे होंगे। इसलिए, टेक्स्ट फ़ाइल में लाइनों की अनावश्यक प्रतियों को हटाने का तरीका जानना आपके लिनक्स कौशल सेट के लिए एक बड़ी संपत्ति हो सकती है।

यदि आप नहीं जानते कि किसी फ़ाइल में टेक्स्ट को कैसे फ़िल्टर और सॉर्ट करना है, तो टेक्स्ट फ़ाइलों के साथ काम करना निराशाजनक हो सकता है। आपके काम को आसान बनाने के लिए, Linux के पास कई टेक्स्ट एडिटिंग कमांड हैं जैसे एसईडी तथा awk जो आपको टेक्स्ट फाइलों और कमांड लाइन आउटपुट के साथ कुशलता से काम करने की अनुमति देता है।

साझा करना साझा करना कलरव ईमेल ये 10 Sed उदाहरण आपको एक Linux Power User बना देंगे

एक Linux पावर उपयोगकर्ता बनना चाहते हैं? सेड की पकड़ में आने से मदद मिलेगी। इन 10 sed उदाहरणों से सीखें।

आगे पढ़िए
संबंधित विषय
  • लिनक्स
  • लिनक्स
लेखक के बारे में Deepesh Sharma(79 लेख प्रकाशित)

दीपेश MUO में Linux के लिए जूनियर एडिटर हैं। वह सभी नवागंतुकों को एक आनंदमय अनुभव प्रदान करने के उद्देश्य से, लिनक्स पर सूचनात्मक मार्गदर्शिकाएँ लिखते हैं। फिल्मों के बारे में निश्चित नहीं है, लेकिन अगर आप तकनीक के बारे में बात करना चाहते हैं, तो वह आपका लड़का है। अपने खाली समय में, आप उसे किताबें पढ़ते हुए, विभिन्न संगीत शैलियों को सुनते हुए, या उसका गिटार बजाते हुए पा सकते हैं।

दीपेश शर्मा की अन्य फ़िल्में-टीवी शो

हमारे न्यूज़लेटर की सदस्यता लें

तकनीकी युक्तियों, समीक्षाओं, निःशुल्क ई-पुस्तकों और अनन्य सौदों के लिए हमारे न्यूज़लेटर से जुड़ें!

सब्सक्राइब करने के लिए यहां क्लिक करें