আমি কীভাবে সমস্ত সাবফোল্ডারগুলিতে একটি নির্দিষ্ট আকারের চেয়ে ছোট সমস্ত ফাইল মুছব?


88

আমার কাছে একটি ছোট ছোট টিআইএফ ফাইল (160 কেবি এরও কম) ফাইলযুক্ত অনেকগুলি সাব-ফোল্ডার রয়েছে যা বড় পিডিএফ ফাইলগুলিতে একত্রে একসাথে কিছু বড় মাল্টি-পেজ টিফ ফাইল যুক্ত করা হয়েছে।

আমি বড় ফাইল (টিফ বা পিডিএফ) না মুছে এবং ডিরেক্টরি কাঠামো ধরে না রেখে সমস্ত ছোট টিআইএফ ফাইল মুছতে চাই delete কমান্ড-লাইনটি ব্যবহার করে আমি লিনাক্সে এটি সম্পর্কে কীভাবে যেতে পারি?

উত্তর:


155
find . -name "*.tif" -type 'f' -size -160k -delete

-deleteসঠিক ফাইল পাওয়া গেছে তা যাচাই করতে প্রথমে কমান্ডটি চালান ।

-আগে নোট করুন 160k। ঠিক এর 160kঅর্থ হ'ল 160 কিলোবাইট। -160kমানে 160 কিলোবাইটের চেয়ে ছোট smaller +160kমানে 160 কিলোবাইটের চেয়ে বড়।

-type 'f'বাহিনী ফাইল শুধুমাত্র আইন কমান্ড ও ডিরেক্টরিগুলি লাফালাফি। প্যাটার্নের সাথে মেলে এমন নামের সাথে ফোল্ডার থাকলে এই ত্রুটিগুলি এড়াতে পারে *.tif

আপনি (160 কিলোবাইট পরিবর্তে 160 বাইটে হিসাবে) বাইটে আকার ফিল্টার করতে চান তাহলে আপনি এটি এমন একটি লেখার জন্য আছে: 160c। আপনি কেবল লিখলে 160এটি 160 * 512 বাইট হিসাবে ব্যাখ্যা করা হবে। এটি পসিক্সের দ্বারা একটি অদ্ভুত প্রয়োজনীয়তা। আরও বিশদের জন্য এখানে পড়ুন: https://unix.stackexchange.com/questions/259208/purpose-of-find-commands-default-size-unit-512-bytes


উবুন্টু ম্যান পৃষ্ঠাতে এটি উল্লেখ করা যায় বলে মনে হয়। "টেস্টস" বিভাগের ঠিক নীচে: সংখ্যাযুক্ত আর্গুমেন্টগুলি n এর চেয়ে বড়, + এন এর চেয়ে কম এন, এন এর জন্য n হিসাবে নির্দিষ্ট করা যেতে পারে exactly
jdg

1
ধন্যবাদ। তথ্যটি ম্যানপেজে অন্য কোথাও থাকতে পারে তা আমার কাছে ঘটেনি।
লেসমানা

এটি দুর্দান্ত যে এই কমান্ডটিও পুনরাবৃত্তভাবে কাজ করে। আমার ব্যবহারের ক্ষেত্রে 12 কেবি এর অধীনে .txt ফাইলগুলি মুছে ফেলা হবে।
সূর্য

সুডোর দরকার নেই?
জিন-ফ্রান্সোইস গাগনন

11
বাইট আকারের জন্য 50c নির্দিষ্ট করুন, 50 বি বা 50 নয়!
ইভেনগার্ড
আমাদের সাইট ব্যবহার করে, আপনি স্বীকার করেছেন যে আপনি আমাদের কুকি নীতি এবং গোপনীয়তা নীতিটি পড়েছেন এবং বুঝতে পেরেছেন ।
Licensed under cc by-sa 3.0 with attribution required.