99fb7f0e82
- Created a new sitemap.xml file for better SEO. - Added a compressed version of the sitemap as sitemap.xml.gz. - Introduced extra.css for custom styles, including Persian font support (IRANSansX). - Defined font-face rules for regular and bold styles of IRANSansX. - Implemented various text styles and layout adjustments for better readability. - Enhanced Mermaid diagram styles to support Persian text rendering.
2.3 KiB
2.3 KiB
تمرین ۷: پایپلاین خطاگیر
صورت سؤال
در یک سیستم چند سرویس مختلف لاگهای خود را در دایرکتوری ~/logs ذخیره میکنند. فایلهایی که با الگوی service-*.log نامگذاری شدهاند ممکن است پیامهای خطا داشته باشند. هدف شما ساخت یک پایپلاین است که اطلاعات زیر را استخراج کند:
- همهٔ فایلهای مطابق الگو را بخوانید و فقط خطوطی که عبارت
ERRORدارند فیلتر کنید. - تعداد کل پیامهای خطا را بشمارید و نتیجه را در فایلی به نام
error-count.txtبنویسید. - همزمان باید همان خروجی فیلترشده روی صفحه نمایش داده شود تا بتوانید خطاها را مشاهده کنید.
- برای اطمینان، پیامهای خطای فیلتر شده را نیز در فایلی به نام
errors-full.logذخیره کنید؛ درصورتی که فایل از قبل وجود داشته باشد باید به انتهای آن اضافه شود.
شرایط
- فرض کنید ابزار
gzipبه صورت دورهای فایلها را فشرده میکند. لازم است پایپ شما فقط فایلهای متنی بدون فشردهسازی (پسوند.log) را پردازش کند. - اگر دستور شما هنگام اجرا با خطایی مواجه شد، پیام خطا باید در فایلی با نام
pipeline-errors.logذخیره شود تا بعداً بررسی شود.
راهنمایی
- برای جلوگیری از نمایش پیامهای خطا روی صفحه، از تغییر مسیر
2>استفاده کنید. - دستور
teeمیتواند خروجی را همزمان در فایل و ترمینال چاپ کند؛ برای افزودن به فایل از گزینهٔ-aاستفاده کنید. - ترکیب
cat,grep,wc -l,teeو تغییر مسیر جریانها یک راهحل متداول برای چنین تمرینی است. هدف نهایی ساخت یک پایپلاین قابلاعتماد و قابلخواندن است.