উত্তর:
আমি এটি বের করেছিলাম; এর একটি 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/'