আপনি বিল্ট-ইন কমান্ডগুলির সাহায্যে এটি সহজেই করতে পারেন।
- ফাইলের বিষয়বস্তুগুলি খাওয়ান
sort
। আমাদের পরবর্তী পদক্ষেপের জন্য এটি দরকার।
- এটি যায়
uniq -c
। এটি প্রতিটি লাইনের অনন্য ঘটনা গণনা করবে। যদি অনুরূপ লাইনগুলি সংলগ্ন না হয় তবে এটি আগে বাছাই না করে কাজ করবে না।
- তারপরে, এটিকে অন্যটিকে খাওয়ান
sort
, যা এখন বিপরীত ক্রমে সাজানো ( r
) এবং আউটপুটটির সংখ্যাসূচক ( n
) ব্যাখ্যার উপর ভিত্তি করে uniq
। আমাদের সংখ্যাসূচক বিকল্পটি প্রয়োজন কারণ অন্যথায়, সংখ্যার সামনের স্থানটি ভুল ফলাফলের দিকে নিয়ে যায় (আরও জন্য জিএনইউর sort
সহায়তা দেখুন)।
- অবশেষে, শুধুমাত্র প্রথম বারোটি লাইনটি সাথে দেখান
head
।
আদেশটি তখন হবে:
sort test.txt | uniq -c | sort -rn | head -n 12
এখানে আউটপুট ঘটনাগুলির প্রকৃত গণনা ধারণ করে।
কেবল রেখার কাঁচা তালিকা পেতে, আপনি আউটপুটটি এখানে পাইপ করতে পারেন sed
:
sort test.txt | uniq -c | sort -rn | head -n 12 | sed -E 's/^ *[0-9]+ //g'
উদাহরণ:
I'm not there very often
I'm not there very often
Look at me!
Look at me!
Look at me!
Hello there!
Hello there!
Hello there!
Hello there!
Hello there!
Hello there!
প্রথম কমান্ড থেকে আউটপুট, তবে কেবল 2 টি থেকে নির্বাচন করা head
:
6 Hello there!
3 Look at me!
দ্বিতীয় কমান্ড থেকে আউটপুট:
Hello there!
Look at me!