এখানে প্রচুর উত্তর রয়েছে, যার অনেকগুলি সদৃশ। আমি তিনটি ট্রেন্ড দেখতে পাচ্ছি: একটি দ্বিতীয় ডু কল মাধ্যমে পাইপিং করা, জটিল শেল / অ্যাজক কোড ব্যবহার করা এবং অন্যান্য ভাষা ব্যবহার করা।
এখানে du এবং awk ব্যবহার করে একটি পসিএক্স-সম্মতিযুক্ত সমাধান যা প্রতিটি সিস্টেমে কাজ করা উচিত।
আমি কিছুটা ভিন্ন পদ্ধতির অবলম্বন করেছি, -x
আমরা একই ফাইল সিস্টেমে থাকি তা নিশ্চিত করার জন্য (যখনই আমি ডিস্কের স্পেসে সংক্ষিপ্ত থাকি তখনই কেবল এই অপারেশনটি প্রয়োজন, তাই কেন আমি এই এফএস গাছের ভিতরে মাউন্ট করেছি বা সরিয়েছি এবং যে জিনিসগুলি আগাছা করে ফেলেছি এবং ফিরে সিমলিংক?) এবং সহজে ভিজ্যুয়াল পার্সিংয়ের জন্য ধ্রুবক একক প্রদর্শন করা। এই ক্ষেত্রে, আমি সাধারণত বাছাই না করা পছন্দ করি যাতে আমি শ্রেণিবদ্ধ কাঠামো আরও ভাল দেখতে পাই।
sudo du -x | awk '
$1 > 2^20 { s=$1; $1=""; printf "%7sG%s\n", sprintf("%.2f",s/2^21), $0 }'
(যেহেতু এটি ধারাবাহিক ইউনিটগুলিতে | sort -n
থাকে তাই আপনি যদি সত্যিই বাছাই করতে চান তবে আপনি যুক্ত করতে পারেন ed ফলাফল নেই।)
এটি এমন কোনও ডিরেক্টরিকে ফিল্টার করে যার (संचयी) বিষয়বস্তু 512 এমবি ছাড়িয়ে যায় এবং তারপরে গিগাবাইটে আকারগুলি প্রদর্শন করে। ডিফল্টরূপে, ডু একটি 512-বাইট ব্লক আকার ব্যবহার (তাই 2 awk অবস্থার 20 ব্লক 512MB এবং তার 2 21 ভাজক GB পর্যন্ত ইউনিট পরিবর্তন করে - আমরা ব্যবহার করতে পারে du -kx
সঙ্গে $1 > 512*1024
এবং s/1024^2
আরো পাঠযোগ্য হতে)। অজানা অবস্থার অভ্যন্তরে, আমরা s
আকারটিতে সেট করেছি যাতে আমরা এটি লাইন ( $0
) থেকে সরাতে পারি । এটি ডিলিমিটার ধরে রাখে (যা একটি একক জায়গাতেই ধসে পড়ে) তাই ফাইনালটি %s
একটি স্থান এবং তারপরে সংযুক্ত ডিরেক্টরিটির নাম উপস্থাপন করে। %7s
বৃত্তাকার %.2f
জিবি আকার সারিবদ্ধ করে (এতে বৃদ্ধি করুন)%8s
তোলে আপনার যদি> 10 টিবি থাকে তবে বাড়ান)।
এখানকার বেশিরভাগ সমাধানের বিপরীতে, এটি সঠিকভাবে তাদের নামের ফাঁকা জায়গাগুলি সহ ডিরেক্টরিগুলি সমর্থন করে (যদিও এই সমাধান সহ প্রতিটি সমাধানই লাইন ব্রেক সহ ডিরেক্টরিগুলির নাম ভুলবস্তু করবে)।