বয়স অনুসারে ফাইল মোছা হচ্ছে


16

কোনও নির্দেশিকায় এমন কোনও ফাইল মুছে ফেলার আদেশ আছে যা এন দিনগুলিতে সংশোধিত হয়নি ? আমার কিছু পুরানো লগ পরিষ্কার করা দরকার।

উত্তর:


24

এটি 5 দিনের চেয়ে পুরানো সমস্ত ফাইল মুছে ফেলবে, আপনি -name '*log'আরও সুনির্দিষ্ট হওয়ার জন্য সেখানে একটি প্রবেশদ্বার রাখতে পারেন এবং আপনি ফাইন্ড কমান্ডেও একটি নির্দিষ্ট করতে চাইতে পারেন maxdepth

find /some/dir -type f -mtime +5 -delete


5
যদিও বুদ্ধিমান সিসাদমিনরা তাদের রাখার চেয়েছিল তা মুছে ফেলবে না তা নিশ্চিত করার -lsপরিবর্তে একটি শুকনো রান চালান -delete। হ্যাঁ, এখানে অভিজ্ঞতা থেকে কথা বলছি।
শাদুর

2
অভিজ্ঞতা থেকে কথা বলতে বলতে, তারা তাদের পথও পরীক্ষা করে। বা না, যেহেতু আমি একবার / some/dir/সংস্করণটি করেছি। :(
হেনেস

3

সঙ্গে zshএবং (.m+n) উল্লিখিত glob কোয়ালিফায়ার : .নির্বাচন শুধুমাত্র নিয়মিত ফাইল, m+nনির্বাচন বেশি ফাইল মডিফাই এন দিন আগে;
উদাহরণস্বরূপ, বর্তমান ডিরেক্টরিটিতে ফাইলগুলি তালিকাবদ্ধ করুন যা 9 দিনেরও বেশি আগে সংশোধিত হয়েছিল:

print -rl -- *(.m+9)

Dডট ফাইলগুলি অন্তর্ভুক্ত করতে যুক্ত করুন :

print -rl -- *(D.m+9)

বা যদি আপনি পুনরাবৃত্তি করতে চান (এবং তালিকার জন্য যেমন কেবলমাত্র ফাইলগুলি শেষ হয় .log):

setopt extendedglob
print -rl -- **/*.log(.m+9)

প্রতিস্থাপন print -rlসঙ্গে rmযদি আপনি ফলাফল নিয়ে খুশি; যদিও আপনার zargsকাছে অনেকগুলি ফাইল থাকলে আপনার ব্যবহার করতে হতে পারে ( যুক্তি তালিকা খুব দীর্ঘ এড়াতে ):

autoload zargs
zargs ./**/*(.m+9) -- rm
আমাদের সাইট ব্যবহার করে, আপনি স্বীকার করেছেন যে আপনি আমাদের কুকি নীতি এবং গোপনীয়তা নীতিটি পড়েছেন এবং বুঝতে পেরেছেন ।
Licensed under cc by-sa 3.0 with attribution required.