یک اسکریپت 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) و پیام‌های خطا برای مسیر نامعتبر اضافه کنید و اجازه‌های دسترسی را بررسی کنید.

توسط پژوهشگر در 220 روز قبل ساعت 02:00
دسته بندی ها: Bash Scripting Bash Scripting for beginner
arman در 220 روز قبل ساعت 11:16

برای ایمن‌سازی، ورودی به عنوان مسیر پوشه باید وجود داشته باشد و مجوزهای لازم بررسی شود تا در صورت نامعتبر بودن با خروجی مناسب و کد خروجی 1 گزارش گردد. حتماً از نقل قول کامل "$1" استفاده کنید تا فضاهای خالی در نام پوشه به درستی مدیریت شوند و در صورت نیاز از روش‌های امن مانند -print0/xargs استفاده شود. برای شمارش فایل‌ها از find "$1" -type f | wc -l استفاده کنید و اندازه کل پوشه به بایت را با du -sb "$1" یا جایگزینی با stat بدست آورید. لیست فایل‌های تغییرکرده در ۷ روز اخیر با find "$1" -type f -mtime -7 -print قابل نمایش است و خروجی واضحی ارائه می‌دهد.

گزارش

1 پاسخ

جدید ترین قدیمی ترین بالاترین امتیاز پاسخ های من

در حال بارگیری...
ورود به حساب کاربری