দ্রষ্টব্য: এটি জিএনইউ-ফাইন্ডের জন্য কাজ করবে তবে অন্য প্রতিটি সন্ধান নয়।
find . -maxdepth 1 -size +20M -printf "%T@ %f\n" |
sort -nr | head -n 20 | sed 's/[^ ]\+ //'
@ রাজেশের মতো শুরু হচ্ছে তবে আউটপুট ফর্ম্যাটটি নির্দিষ্ট করতে printfকমান্ডটি ব্যবহার করুন find। এখানে আছে 3 সময় সংশ্লিষ্ট ফরম্যাটের হয় atime, ctime এবং র দ্বারা mtime - %Tর দ্বারা mtime জন্য, %Aএবং %Cঅন্যান্য ফরম্যাটের জন্য।
@যুগের পর থেকে সেকেন্ডে টাইমফর্মটি নির্দিষ্ট করা। 2 ফাইলের মধ্যে একটি নতুন লাইনের %fজন্য, ফাইলের নামের জন্য \n।
তারপরে বিপরীত ক্রমে সংখ্যায় অনুসারে বাছাই করা প্রথমে কনিষ্ঠতম ফাইল দেয় এবং আমরা 20 টি লাইন নিয়ে যাই head।
শেষ পর্যন্ত, sedসময় তথ্য নিক্ষেপ করতে ব্যবহৃত হয়।
¹) যেহেতু headএকের পর এক লাইনে কাজ করা হয়, নামে 20 টিরও বেশি নিউলাইন সহ একটি ফাইল যা কিছুটা অস্বাভাবিক তবে নিষিদ্ধ নয়, যদি প্রথম 20 ম্যাচ হয় তবে আউটপুটটিকে দূষিত করতে পারে। আপনার যদি এ জাতীয় ফাইলগুলি ঘটে থাকে তবে দয়া করে এগুলি থেকে মুক্তি দেওয়ার চেষ্টা করুন - ভাল, তাদের নাম পরিবর্তন করার জন্য। এগুলি প্রায়শই সরল স্ক্রিপ্টগুলির জন্য সমস্যা হবে।
fileএর-lsকমান্ড বিশেষ অক্ষর ব্যাকস্ল্যাশ-পলান অক্ষর হিসাবে প্রিন্ট করা হবে:find . -maxdepth 1 -size +20M -printf "%T@ " -ls | sort -nr | head -n 20 | sed 's/[^ ]\+ //'। অতিরিক্তভাবে ফর্ম্যাটটি দেখতে হবেls -l, ইওগানএম-lযেভাবেই নির্দিষ্ট করে ।