AWK
From Wikipedia, the free encyclopedia
AWK یک زبان برنامهنویسی مفسری است که برای پردازش متن طراحی شده و عموماً به عنوان ابزاری برای گزارشگیری و استخراج دادهها مورد استفاده قرار میگیرد. این زبان برنامهنویسی، تبدیل به یکی از ویژگیهای استاندارد در سیستمعاملهای خانواده یونیکس شدهاست.
پارادایم برنامهنویسی | اسکریپتنویسی، رویهای، دادهمحور |
---|---|
طراحی شده توسط | آلفرد آهو، Peter Weinberger, and برایان کرنیگان |
ظهوریافته در | ۱۹۷۷؛ ۴۷ سال پیش (۱۹۷۷-خطا: زمان نامعتبر}}) |
انتشار پایدار | IEEE Std 1003.1-2008 (POSIX) / 1985
|
ندارد؛ فقط رشته، عدد صحیح و اعشاری، و عبارت باقاعده را رسیدگی میکند. | |
سیستمعامل | چندسکویی |
وبگاه | |
پیادهسازیهای بزرگ | |
awk, GNU Awk, mawk, nawk, MKS AWK, Thompson AWK (compiler), Awka (compiler) | |
گویش | |
old awk oawk 1977, new awk nawk 1985, GNU Awk gawk | |
متأثر از | |
سی (زبان برنامهنویسی)، زبان اسنوبول۴, پوسته بورن | |
تأثیر گذاشته بر | |
تیسیال، AMPL، پرل, Korn Shell (ksh93, dtksh, tksh), لوآ (زبان برنامهنویسی) |
زبان AWK در دهه ۱۹۷۰ در آزمایشگاههای بل طراحی شد. نام این زبان از نام خانوادگی طراحان آن Alfred Aho, Peter Weinberger, و Brian Kernighan گرفته شدهاست. سرواژه AWK در زبان انگلیسی، عمدتاً مشابه نام پرنده auk تلفظ میشود، که تصویری از این پرنده بر روی جلد کتاب زبان برنامهنویسی AWK استفاده شدهاست، هرچند که AWK به صورت مجزا و حرفبهحرف هم تلفظ میشود.
زبان برنامهنویسی AWK یک زبان اسکریپتی دادهمحور است؛ این زبان عموماً از یکسری دوجفتی الگو (pattern) و عمل (action) تشکیل میشود که قرار است بر روی یکسری دادههای متنی اجرا شود؛ که این دادههای متنی یا از فایلهای عادی خوانده میشوند، یا اینکه از طریق خط لوله بدست میآیند. به کمک AWK میتوان اطلاعاتی را از این دادههای متنی استخراج کرد یا اینکه گزارشهایی قالببندیشده از آنها تهیه کرد. این زبان بهطور گستردهای از نوعداده string (رشته)، آرایههای انجمنی (آرایهای که با کلیدرشته اندیسگزاری میشود) و عبارات باقاعده استفاده میکند. در حالی که دامنه استفاده محدودی برای زبان AWK در نظر گرفته شده، و این زبان خصوصاً برای نوشتن برنامههای یکخطی طراحی شده، AWK یک زبان Turing-complete است و حتی کاربران اولیه AWK در آزمایشگاههای بل نیز برنامههای بزرگ با ساختاربندی خوب به زبان AWK مینوشتند.