উত্তর:
আপনি এই আদেশ দিয়ে এটি করতে পারেন
find /path/to/files* -mtime +365 -exec rm {} \;
কিছু ব্যাখ্যা
/path/to/files* ফাইলের পথ।
-mtimeফাইলটি পুরানো দিনের সংখ্যা নির্দিষ্ট করতে ব্যবহৃত হয়। +365 365 দিনের চেয়ে পুরানো ফাইলগুলি এক বছর যাচাই করবে
-exec আপনাকে rm এর মতো একটি কমান্ড দেওয়ার অনুমতি দেয়।
@ ওলি নোটকে ধন্যবাদ সম্পাদনা করুন -> আপনি এটি এর মাধ্যমে করতে পারেন:
find /path/to/files* -mtime +365 -delete
"{}" প্রথমে স্থানান্তরিত {}হওয়ার আগে হয় find; তারপরে তার findবিকল্প {}হয় case ক্ষেত্রে উদ্ধৃতি দেওয়ার পরামর্শ দেওয়া হয় {এবং }তাদের মাঝে মাঝে শেল দ্বারা বিশেষভাবে চিকিত্সা করা যেতে পারে - যার কিছুই নেই) ফাঁকা ফাঁকা জায়গা দিয়ে করুন এবং প্রায়শই {}উদ্ধৃতি দিতে হয় না I আমি কোনও পরিস্থিতির কথা ভাবতে পারি না, কমপক্ষে বোর্ন-স্টাইলের শেল থেকে সন্ধান করার সময়, যখন {}ভিতরে কিছুই না থাকে, নিজেই আর্গুমেন্ট হিসাবে উপস্থিত হয়, উদ্ধৃতি দিতে হবে। আপনি কি পারেন?)
findনিজের জন্য পালাবার হাতল সন্ধান করে তবে স্ক্রিপ্টিংয়ের সময় এটি থাকা কোনও খারাপ অভ্যাস নয়। এতে ক্ষতি হয় না।
findপালানোর বিষয়টি পরিচালনা না করে "{}"তবে এখনও {}উভয় কাজের পরিবর্তে - ঠিক না কোনওভাবেই কাজ করবে না as যে {}এবং"{}" আচরণ একইরকম নয় - এবং হতে পারে না - কারণ অনুসন্ধানের কোনও বিশেষ বৈশিষ্ট্যের কারণে। অন্য কোনও প্রোগ্রাম দ্বারা প্রসারিত হয়ে শেলের মাধ্যমে কী প্রসারিত হবে তা বিভ্রান্ত করা একটি খারাপ অভ্যাস। আমরা সকলেই মাঝে মাঝে সেই ভুলটি করি তবে এটি এখনও একটি ভুল - সেরা অনুশীলন নয়। ( {}মানুষকে এখনও এটি দেখতে সাহায্য করার জন্য উদ্ধৃতি দেওয়া যেতে পারে যে এটি বন্ধনী সম্প্রসারণের কোনও নমুনা নয়, তবে এটি শব্দ বিভাজনের সাথে সম্পর্কিত নয়
{}মধ্যে-exec(তাই এটি সার্চ-exec rm "{}" \;)। এটি নিশ্চিত করে যে স্পেসগুলি সঠিকভাবে পরিচালনা করা হয়েছে ... এবং আপনি কেবল এর-deleteপরিবর্তে ফাংশনটি ব্যবহার করতে পারেন-exec।