जवाबों:
मैं यह समझ गया; में से एक uniqके विकल्प है -c"घटनाओं की संख्या से उपसर्ग लाइनों" के लिए,:
$ uniq -c
sort | uniq
A \ A \ A \ B \ A \ CC, तो बस का आउटपुट uniq -cदिखाएगा A 3और बाद में दिखाएगा A 1। पहले छंटनी, गारंटी देगी कि सभी समान रेखाओं को एक साथ समूहीकृत किया जाता है
मैं बस इसी तरह की समस्या के साथ यहां आया था। इस से, मैं एक और अधिक उन्नत कमांड को एक साथ रखने में कामयाब रहा, जो मुझे आशा है कि दूसरों के लिए उपयोगी है।
जैसा कि स्टीवन डी ने कहा था कि ऊपर की टिप्पणियों में uniqकेवल निकटवर्ती दोहराने वाली रेखाएं होती हैं, इसलिए आपको पहले लाइनों को क्रमबद्ध करना होगा। उसके बाद हम अद्वितीय रेखाएँ खोजते हैं फिर क्रमबद्ध करते हैं ताकि सबसे अधिक होने वाली रेखाएँ शीर्ष पर हों।
sort file.txt | uniq -c | sort -nr > output.txt
आउटपुट को फ़ाइल में रीडायरेक्ट किया जाता है output.txt। यदि आप केवल कमांड लाइन पर परिणाम देखना चाहते हैं, तो पुनर्निर्देशन को हटा दें और अंतिम कमांड को बदल दें sort -nताकि सबसे आम लाइन नीचे हो, यानी निश्चित रूप से स्क्रीन पर।
cat file.txt | sortबस के साथ बदल सकते हैं sort file.txt। :)
catकुछ और दिलचस्प चीजों से प्रतिस्थापित नहीं कर सकते । चूंकि, आप जानते हैं, कोई भी नहीं है cat।
< file.txt sort | uniq -c। यह संपादित करना आसान है, और फिर भी अनावश्यक से बचा जाता है cat।
uniq -c filename.txt | sed 's/[^0-9]*\\([0-9]\+\\) \\(.*\\)/\2 \1/'