یک اسکریپت bash بنویسید که مسیر یک پوشه را بهعنوان آرگومان دریافت کند و تعداد فایلها، اندازه کل پوشه به بایت و لیست فایلهایی که در ۷ روز گذشته تغییر کردهاند را نمایش دهد.
4.0 بازدید آخرین ویرایش در 220 روز قبل ساعت 02:00 0.0
برای حل این مسئله از دستورات پایه شل استفاده کنید: ابتدا با بررسی وجود آرگومان و اعتبار مسیر (test -d) از ورودی مطمئن شوید. برای شمارش فایلها میتوانید از find "$1" -type f | wc -l و برای محاسبه اندازه به بایت از du -sb "$1" یا ترکیب stat/awk استفاده کنید. لیست فایلهای تغییرکرده در ۷ روز گذشته را با find "$1" -type f -mtime -7 -print بدست آورید. نکات: مسیرها را در کوتیشن ("$1") قرار دهید تا فضای خالی درست مدیریت شود، وضعیت خروجی مناسب (exit codes) و پیامهای خطا برای مسیر نامعتبر اضافه کنید و اجازههای دسترسی را بررسی کنید.
1 پاسخ
جدید ترین قدیمی ترین بالاترین امتیاز پاسخ های من
در حال بارگیری...
برای ارسال پاسخ باید با حساب کاربری وارد شوید.
ورود به حساب کاربری
برای ایمنسازی، ورودی به عنوان مسیر پوشه باید وجود داشته باشد و مجوزهای لازم بررسی شود تا در صورت نامعتبر بودن با خروجی مناسب و کد خروجی 1 گزارش گردد. حتماً از نقل قول کامل "$1" استفاده کنید تا فضاهای خالی در نام پوشه به درستی مدیریت شوند و در صورت نیاز از روشهای امن مانند -print0/xargs استفاده شود. برای شمارش فایلها از find "$1" -type f | wc -l استفاده کنید و اندازه کل پوشه به بایت را با du -sb "$1" یا جایگزینی با stat بدست آورید. لیست فایلهای تغییرکرده در ۷ روز اخیر با find "$1" -type f -mtime -7 -print قابل نمایش است و خروجی واضحی ارائه میدهد.
گزارش