গ্রার, মন্তব্য করার জন্য 50 জন প্রতিনিধি প্রয়োজন। সুতরাং এই উত্তরটি আসলে খ্রিস্টের উত্তরের মন্তব্য।
যেহেতু প্রশ্নকর্তা সম্ভবত সমস্ত ডিরেক্টরি সম্পর্কে যত্নবান হন না, কেবলমাত্র সবচেয়ে খারাপ বিষয়, তারপরে বাছাই করা সম্ভবত খুব ব্যয়বহুল ওভারকিল।
find . -type d |
while
read line
do
echo "$(ls "$line" | wc -l) $line"
done |
perl -a -ne'next unless $F[0]>=$max; print; $max=$F[0]' | less
এটি আপনার সংস্করণ হিসাবে সম্পূর্ণ নয়, তবে এটি প্রিন্ট লাইনগুলি কী করে যদি তা পূর্বের সর্বাধিকের চেয়ে বড় হয়, মুদ্রিত আওয়াজের পরিমাণকে হ্রাস করে এবং সাজানোর ব্যয়টি সংরক্ষণ করে saving
এর নেতিবাচক দিকটি যদি আপনার 2 টি খুব বড় ডিরেক্টরি থাকে এবং প্রথমটি 2 য় এর চেয়ে 1 টি আরও বেশি ইনোড রাখে তবে আপনি দ্বিতীয়টি কখনই দেখতে পাবেন না।
আরও একটি সম্পূর্ণ সমাধান হ'ল একটি স্মার্ট পার্ল স্ক্রিপ্ট লিখতে হবে যা দেখা গেছে শীর্ষস্থানীয় 10 টি মানকে লক্ষ্য রাখে এবং শেষে প্রিন্ট করে। তবে দ্রুত সার্ভারফল্ট উত্তরের জন্য এটি অনেক দীর্ঘ long
এছাড়াও, কিছু মাঝারি স্মার্ট পার্ল স্ক্রিপ্টিং আপনাকে বেশিরভাগ প্ল্যাটফর্মে, লুপটি এড়িয়ে যেতে দেয় - ফলাফলগুলি বাছাই করে এবং বড় ডিরেক্টরিগুলির জন্য এটি খুব ব্যয়বহুলও হতে পারে। এখানে ls বাছাই করা প্রয়োজনীয় নয়, যেহেতু আমরা যা যত্ন করি সেগুলিই গণনা।