بعضا برای همه ما اتفاق میوفته بخواهیم فایلهایی رو با مشخصه خاص و مشترکی اعم پسوند و نام مشخص پیدا و یا حذف کنیم. خیلی سرتون رو درد نیارم. مخلص کلام آقا ما روی ی سرور لینوکسی قصد پاک کردن ی سری فایل بکاپ دیتابیس داشتم. (اوه وایسا وایسا، مگه فایل بکاپ اون هم دیتابیس رو هم پاک میکنند آخه. آره جوووووون دل!!! اگه تستی بوده باشه و یا بخوایم قدیمیا رو پاک کنیم آره)
نگم براتون که چالش رو تو همون از کجا شروع کنم گفتم براتون. این هم نوشتم برای خالی نبودن عریضه
فرض کنید ی ساختاری شبیه تصویر (سرویس جذاب asciinema) دارید و میخواید فایلهایی که تاریخ درست درمونی ندارند (که از بابت تست bash script ایجاد شده) حذف بشه.
قصدم پاک کردن بکاپ های تستی بود که در این جا فایلهای backup-10.sql.gz و backup-11.sql.gz میباشد (نقطه سر خط)
تیتر وار بگم:
چی چی شد!!!
یافتم دیگه. اول فقط تست کوچیک بابت اینکه بتونم الگوی خاصی برای نوشتن regex پیدا کنم:
find . -type f
دوم تست regex: (البته با توجه به بخش چی کارا کردم تا رسیدم به نتیجه خیلی طول کشید تا برسم به نتیجه)
find . -type f -regex '.*/*[1][10].sql.gz'
و در نهایت تیر خِلاص:
find . -type f -regex '.*/*[1][10].sql.gz' -delete
و باز هم سرویس جذاب asciinema کمک کرد که نشون بدم چیکارا کردم. کاملش رو اینجا ببینید:
نتیجه گرایی ؟؟؟ اومدیمو این چالش به شکست منجر میشد اون وقت چی!!!
پس نتیجه گرا نباشیم. هر شکستی پلی است به سوی پیروزی (الکی ادای حال بدا رو درنیار عزیزززززز!!!)
فقط نکاتی از این چالش یاد گرفتم این بود که: