Files
nearology 99fb7f0e82 Add sitemap and styles for Persian font integration
- 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.
2026-04-28 15:27:18 +03:30

2.3 KiB

تمرین ۷: پایپ‌لاین خطاگیر

صورت سؤال

در یک سیستم چند سرویس مختلف لاگ‌های خود را در دایرکتوری ~/logs ذخیره می‌کنند. فایل‌هایی که با الگوی service-*.log نام‌گذاری شده‌اند ممکن است پیام‌های خطا داشته باشند. هدف شما ساخت یک پایپ‌لاین است که اطلاعات زیر را استخراج کند:

  1. همهٔ فایل‌های مطابق الگو را بخوانید و فقط خطوطی که عبارت ERROR دارند فیلتر کنید.
  2. تعداد کل پیام‌های خطا را بشمارید و نتیجه را در فایلی به نام error-count.txt بنویسید.
  3. همزمان باید همان خروجی فیلترشده روی صفحه نمایش داده شود تا بتوانید خطاها را مشاهده کنید.
  4. برای اطمینان، پیام‌های خطای فیلتر شده را نیز در فایلی به نام errors-full.log ذخیره کنید؛ درصورتی که فایل از قبل وجود داشته باشد باید به انتهای آن اضافه شود.

شرایط

  • فرض کنید ابزار gzip به صورت دوره‌ای فایل‌ها را فشرده می‌کند. لازم است پایپ شما فقط فایل‌های متنی بدون فشرده‌سازی (پسوند .log) را پردازش کند.
  • اگر دستور شما هنگام اجرا با خطایی مواجه شد، پیام خطا باید در فایلی با نام pipeline-errors.log ذخیره شود تا بعداً بررسی شود.

راهنمایی

  • برای جلوگیری از نمایش پیام‌های خطا روی صفحه، از تغییر مسیر 2> استفاده کنید.
  • دستور tee می‌تواند خروجی را همزمان در فایل و ترمینال چاپ کند؛ برای افزودن به فایل از گزینهٔ -a استفاده کنید.
  • ترکیب cat, grep, wc -l, tee و تغییر مسیر جریان‌ها یک راه‌حل متداول برای چنین تمرینی است. هدف نهایی ساخت یک پایپ‌لاین قابل‌اعتماد و قابل‌خواندن است.