تقارير awk
awk Reports
تقارير awk — awk Reports
awk أداة قوية لمعالجة النصوص ذات الأعمدة. إذا كان لديك ملف يحتوي item quantity price، يمكن لـawk جمع القيم وطباعة تقرير صغير في سطر واحد. القاعدة العملية: استخدم Bash لترتيب التدفق، واستخدم awk عندما تحتاج حساباً على أعمدة كثيرة.
صيغة awk -F, '{ total += $2 } END { print total }' تعني: الفاصل comma، أضف الحقل الثاني إلى total لكل سطر، وبعد النهاية اطبع total. قد تبدو الصيغة غريبة أولاً، لكنها ممتازة للتقارير الصغيرة.
لا تحول كل سكربت إلى كتلة awk طويلة. إذا أصبح البرنامج داخل awk كبيراً، ربما تحتاج ملف awk منفصل أو لغة أخرى. في AzLearn نستخدمه كأداة مركزة لا كبديل لكل شيء.
مثال عملي
هنا الحقل الثاني هو الكمية والثالث السعر. awk يتعامل مع الأرقام تلقائياً في هذا السياق.
awk أم Bash؟
إذا كان الحساب داخل array صغيرة، Bash تكفي. إذا كان النص جدوليّاً والأسطر كثيرة، awk أوضح. اختيار الأداة جزء من جودة السكربت.
ملاحظة توافق: توجد ثلاث نسخ شائعة من awk: GNU awk (gawk)، BSD awk (على macOS الافتراضي)، ومawk. الفروق صغيرة في الاستخدام اليومي، لكن بعض ميزات gawk مثل PROCINFO وgensub غير موجودة في BSD awk. الأمثلة في هذا الدرس تستخدم صيغة POSIX تعمل على الثلاثة.