আপনি আসলে বংশীধ্বনিতুল্য হয় rm
এর আউটপুট ইনপুট find
। আপনি যা চান তা আউটপুটটিকে আর্গুমেন্টfind
হিসাবে ব্যবহার করা :rm
find -type f -name '*.sql' -mtime +15 | xargs rm
xargs
হ'ল কমান্ডটি যা এর স্ট্যান্ডার্ড ইনপুটটিকে অন্য প্রোগ্রামের আর্গুমেন্টগুলিতে "রূপান্তর" করে, বা যেমন তারা আরও সঠিকভাবে এটি man
পৃষ্ঠাতে রাখে,
স্ট্যান্ডার্ড ইনপুট থেকে কমান্ড লাইনগুলি তৈরি এবং সম্পাদন করে
দ্রষ্টব্য যে যদি ফাইলের নামগুলিতে সাদা স্থানের অক্ষর থাকতে পারে তবে আপনার জন্য এটি সংশোধন করা উচিত:
find -type f -name '*.sql' -mtime +15 -print0 | xargs -0 rm
তবে আসলে এর find
জন্য একটি শর্টকাট রয়েছে: -delete
বিকল্প:
find -type f -name '*.sql' -mtime +15 -delete
নিম্নলিখিত সতর্কতা সম্পর্কে দয়া করে সচেতন হন man find
:
Warnings: Don't forget that the find command line is evaluated
as an expression, so putting -delete first will make find try to
delete everything below the starting points you specified. When
testing a find command line that you later intend to use with
-delete, you should explicitly specify -depth in order to avoid
later surprises. Because -delete implies -depth, you cannot
usefully use -prune and -delete together.
পিএস নোট করুন যে সরাসরি পাইপ দেওয়া rm
কোনও বিকল্প নয়, কারণ rm
স্ট্যান্ডার্ড ইনপুটটিতে ফাইলের নাম আশা করা যায় না। আপনি বর্তমানে যা করছেন তা তাদের পিছন দিকে পাইপ করা।