Linux Command Line

Linux फ़ाइलों में अनोखी लाइनों की कुशलतापूर्वक गणना करना

Spread the love

Linux में फ़ाइल में अनोखी लाइनों की गणना एक सामान्य कार्य है। यह लेख दो कुशल कमांड-लाइन विधियों को प्रस्तुत करता है: sort और uniq का उपयोग करना, और awk का उपयोग करना।

विषय सूची

sort और uniq के साथ अनोखी लाइनों की गणना

यह विधि सरल तरीके से sort और uniq की शक्ति को जोड़ती है। sort लाइनों को वर्णानुक्रम में व्यवस्थित करता है, जो uniq के लिए एक पूर्वापेक्षा है, जो केवल क्रमागत समान लाइनों की गणना करता है। uniq में -c विकल्प प्रत्येक पंक्ति में एक गणना उपसर्ग जोड़ता है।

file.txt में अनोखी लाइनों की गणना करने के लिए:


sort file.txt | uniq -c

यह प्रत्येक अनोखी पंक्ति को उसकी गणना के साथ प्रदर्शित करता है। अनोखी लाइनों की कुल संख्या प्राप्त करने के लिए, आउटपुट को wc -l में पाइप करें:


sort file.txt | uniq -c | wc -l

उदाहरण:

यदि file.txt में है:


apple
banana
apple
orange
banana
apple

sort file.txt | uniq -c आउटपुट करता है:


      3 apple
      2 banana
      1 orange

और sort file.txt | uniq -c | wc -l आउटपुट करता है:


3

awk के साथ अनोखी लाइनों की गणना

awk एक लचीला समाधान प्रदान करता है, जो अधिक जटिल परिदृश्यों के लिए विशेष रूप से उपयोगी है। यह विधि अनोखी लाइनों और उनकी गणनाओं को ट्रैक करने के लिए एक एसोसिएटिव ऐरे का उपयोग करती है।

अनोखी लाइनों की गणना करने और उन्हें उनकी गणना के साथ प्रदर्शित करने के लिए:


awk '{count[$0]++} END {for (line in count) print count[line], line}' file.txt

यह स्क्रिप्ट count ऐरे में प्रत्येक पंक्ति के लिए गणना को बढ़ाता है, पंक्ति को कुंजी के रूप में उपयोग करता है। END ब्लॉक ऐरे के माध्यम से पुनरावृति करता है, प्रत्येक पंक्ति की गणना और पंक्ति स्वयं को प्रिंट करता है।

केवल अनोखी लाइनों की कुल गणना प्राप्त करने के लिए:


awk '{count[$0]++} END {print length(count)}' file.txt

यह अनोखी लाइनों की संख्या (ऐरे का आकार) को सीधे आउटपुट करने के लिए length(count) का उपयोग करता है।

उदाहरण:

उसी file.txt का उपयोग करते हुए, पहला awk कमांड sort | uniq -c विधि के समान आउटपुट उत्पन्न करता है। दूसरा awk कमांड 3 आउटपुट करता है, जो तीन अनोखी लाइनों को इंगित करता है।

अपनी आवश्यकताओं के अनुसार सबसे उपयुक्त विधि चुनें। बुनियादी कार्यों के लिए sort और uniq सरल हैं; जटिल परिदृश्यों के लिए awk अधिक लचीलापन प्रदान करता है।

प्रातिक्रिया दे

आपका ईमेल पता प्रकाशित नहीं किया जाएगा. आवश्यक फ़ील्ड चिह्नित हैं *