নির্দিষ্ট তারিখের মধ্যে সংশোধিত ফাইলগুলি কীভাবে সরাবেন?


12

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

উত্তর:


18

আদেশ GNU findহ'ল উপায়। উদাহরণস্বরূপ, 1 থেকে 5 আগস্টের মধ্যে বর্তমান ডিরেক্টরিতে থাকা সমস্ত ফাইল মুছতে আপনি নিম্নলিখিত কমান্ডটি ব্যবহার করতে পারেন

find . -maxdepth 1 -type f -newermt 2011-08-01 ! -newermt 2011-08-06 -delete

কমান্ডটি -deleteঅ্যাকশন ছাড়াই কার্যকর করা ভাল , প্রথমে আগ্রহী ফাইলগুলির তালিকা (একটি ভাল বিকল্প হতে পারে -lsযা এলএস-এর মতো তালিকা তৈরি করে)।

-maxdepth 1স্পেসিফিকেশন অপসারণ সমস্ত উপ-ডিরেক্টরিকেও অতিক্রম করবে।

উদাহরণস্বরূপ আপনি ঘন্টাও নির্দিষ্ট করতে পারেন

find . -maxdepth 1 -type f -newermt '2011-08-01 10:01:59' \
                         ! -newermt '2011-08-06 23:01:00' -delete

একক উদ্ধৃতি অপসারণ না করার জন্য সতর্কতা অবলম্বন করুন, যা তারিখ এবং সময়ের মধ্যে ফাঁকা স্থান রক্ষা করে।

চরিত্রটি !একটি প্রত্যাখ্যান, এটি পড়তে হবে: এই তারিখটি নতুন তবে অন্য তারিখের চেয়ে নতুন নয়


বিশাল আমাকে. আমি কি কয়েক ঘন্টা ব্যাপ্তি চয়ন করতে ব্যবহার করতে পারি? আর 'কী!' ব্যবহারের জন্য ?
প্যাট্রিক

!একটি নয়। এই উদাহরণে: 2011-08-06 এর চেয়ে নতুন নয়।
কন-এফ-ব্যবহার

@ লর্ডমনকি: উত্তরে আমার সম্পাদনা দেখুন
enzotib

3
+1 টি। আমি প্রিডিকেট জানি না। সম্ভবত এটি প্রয়োজন হয় না, তবে আমি যোগ করব -type f
মিচা Šরাজের

@ মাইচা আরজার: এর জন্য ভাল টিপস -type f, আমি তা ভুলে গেছি। -deleteএকটি গনুহ এক্সটেনশন, আমি মনে করি।
এনজোটিব
আমাদের সাইট ব্যবহার করে, আপনি স্বীকার করেছেন যে আপনি আমাদের কুকি নীতি এবং গোপনীয়তা নীতিটি পড়েছেন এবং বুঝতে পেরেছেন ।
Licensed under cc by-sa 3.0 with attribution required.