العودة إلى الدورة

59. مقدمة إلى `awk` (معالجة الحقول)

أساسيات Linux: من الصفر إلى إتقان واجهة سطر الأوامر (CLI Hero)

معالجة البيانات المتقدمة

awk (سميت على اسم مطوريها Aho و Weinberger و Kernighan) هي لغة برمجة مصممة لمسح الأنماط ومعالجة البيانات، وممتازة بشكل خاص للتعامل مع البيانات المهيكلة (مثل الجداول أو ملفات CSV).

كيف يعمل awk

يعالج ملفاً سطراً بسطر، ولكل سطر، فإنه يتعامل مع الحقول (الأعمدة) كمتغيرات، مفصولة عادةً بمسافات بيضاء.

  • $0: يمثل السطر بأكمله.
  • $1: يمثل الحقل الأول.
  • $2: يمثل الحقل الثاني، وهكذا.

استخراج الحقول الأساسي

طباعة الاسم الأول والأخير من قائمة، بافتراض أنهما الحقلان الأول والثاني:

bash $ echo -e "John Doe\nJane Smith" | awk '{print $1, $2}' John Doe Jane Smith

تحديد فاصل الحقول (-F)

تماماً مثل cut، يمكن أن يستخدم awk فاصل حقول مختلف (محدد).

مثال: استخراج اسم المستخدم (الحقل 1) و UID (الحقل 3) من /etc/passwd (المحدد هو :):

bash $ awk -F ':' '{print "User: " $1, " UID: " $3}' /etc/passwd User: root UID: 0 User: daemon UID: 1 ...