منظور از آموزش زبان برنامه نویسی AWK چیست؟
تصور کنید قصد تحلیل و پردازش یک فایل متنی را دارید. این فایل متنی میتواند چند ستون و چندهزار سطر داشته باشد. انجام عملیاتهای مختلف مانند عملیاتهای ریاضی، متنی، زمانی و بیتی همراه با بررسی شروط مختلف روی این حجم از اطلاعات و دادهها کار بسیار دشواری است.
زبان برنامه نویسی AWK یکی از برجستهترین ابزارهای پردازش متن در GNU/ Linux محسوب میشود. این ابزار بسیار قدرتمند است و در عین حال از یک زبان برنامهنویسی ساده برای پردازش استفاده میکند. این زبان میتواند کارهای پیچیده پردازش متن را به وسیله چند خط کد ساده حل کند.
AWK یک زبان برنامهنویسی تفسیرشده است که تنها برای پردازش متن طراحی شده است. نام این زبان از ابتدای نام خانوادگی نویسندگان آن گرفته شده است. ورژن AWK توسط بنیاد نرمافزار آزاد (FSF) نوشته و نگهداری شده و توسط GNU/ Linux توزیع میشود. در هر حال از این زبان به عنوان GNU AWK معمولا یاد میشود.
انواع AWK عبارتند از:
ساختار برنامه نویسی AWK از سه بلوک BEGIN، Body و END تشکیل میشود. در طول دوره با این بلوکها و نحوه ساخت آنها آشنا میشوید.
AWK در مدیریت عبارات با قاعده هم بسیار قدرتمند و کارآمد عمل میکند. بعضی از کارهای پیچیده را میتوانید با استفاده از عبارات با قاعده ساده، به راحتی انجام دهید. هر متخصص خط فرمان از قدرت regular expression آگاه است. در این دوره میتوانید با انجام مثالهایی به نحوه استفاده از این عبارات در AWK به خوبی فرا بگیرید.
AWK دارای آرایههای انجمنی است. یکی از بهترین چیزهایی که در مورد آرایههای AWK وجود دارد، این است که لازم نیست شاخصها به ترتیب باشند. میتوانید از رشته یا عدد هم به عنوان ایندکس آرایه استفاده کنید. همچنین نیازی به اعلام اندازه آرایه از قبل نیست. چرا که آرایهها میتوانند در زمان اجرا گسترش یافته یا حتی کوچکتر شوند. آرایهها عضو جداییناپذیر زبانهای برنامهنویسی هستند؛ در این دوره به بررسی آرایهها و کار با آنها هم میپردازیم.
مانند تمام زبانهای برنامهنویسی، AWK عبارات شرطی را برای کنترل جریان برنامه ارائه میدهد. عبارات شرطی در تحلیل متنها میتوانند بسیار پرکاربرد باشند؛ در این دوره میتوانید با جملههای شرطی هم بیشتر آشنا شوید.
در این دوره حلقههای AWK با مثالهای مناسب توضیح داده میشود. حلقهها برای اجرای مجموعهای از اقدامات به صورت تکراری استفاده میشوند. همانطور که میدانید اجرای حلقه تا زمانی که شرط حلقه برقرار باشد، ادامه خواهد داشت.
زبان برنامه نویسی AWK توابع متعدد زیادی را در خود جای داده است. این توابع همواره در دسترس برنامهنویسان قرار دارند. تعریف تابع یک کلید اصلی تابع، نام تابع، نام آرگومانها و بدنه تابع را شامل میشود. Arithmetic، String، Time، Bit manipulation و غیره از جمله توابعی هستند که در AWK تعریف شدهاند. توابع بلوکهای اساسی برنامه هستند. AWK حتی به شما اجازه میدهد که توابع خود را تعریف کنید. یک برنامه بزرگ را میتوان به توابع تقسیم کرد. هر تابع را میتوانید به صورت مستقل بنویسید و آزمایش کنید. در این صورت میتوانید به طور مجدد از کدهای نوشته شده استفاده کنید.
دادهها را میتوانید هم روی جریان خروجی استاندارد نمایش دهید و هم آنها را به یک فایل هدایت کنید. تغییر مسیر در AWK دقیقا مانند تغییر مسیر در دستورات shell است. بنابراین اگر با اسکریپتنویسی پوسته آشنایی داشته باشید، به راحتی میتوانید آموزش AWK را فرا بگیرید.
کارهای زیادی را میتوان با AWK انجام داد. به عنوان مثال پس از یادگیری زبان برنامه نویسی AWK میتوانید وظایف زیر را انجام دهید:
در دوره آموزش زبان برنامه نویسی AWK میتوانید در ابتدا با محیط آن آشنا شوید. در لابهلای آموزش سینتکس، متغیرها، عملگرها، آرایهها، حلقهها و توابع استفاده شده در AWK را فرا میگیرید.
وحید نائینی فارغالتحصیل مهندسی مکانیک از دانشگاه صنعتی اصفهان و تربیت مدرس است. پروژه آکادمیک و دانشجویی وحید شبیهسازی شکست استخوان بوده، ولی از آخرین شغل مرتبط با رشتهاش، یعنی تدریس در دانشگاه آزاد، چند سالی گذشته است. ایشان کار خود را در برنامهنویسی با پردازش تصاویر بیومتریک شروع کرد و در حال حاضر برنامه نویس بک اند است و از سال 1394 سابقهٔ تدریس ۳۰ دوره برنامهنویسی پایتون را در مجتمع فنی دارد. ایشان مسلط به زبانهای برنامهنویسی و ابزارهایی مثل C++، Python، Docker، SQL، Git و غیره است. نکته جالب توجه درباره وحید این است که او به زبانهای غیر برنامهنویسی هم علاقه زیادی دارد و با زبانهای روسی و اسپرانتو هم آشنایی دارد.
دوره آموزش رایگان AWK مناسب چه کسانی است؟
آموزش رایگان AWK برای توسعه دهندگان سیستم، مدیران سیستم یا هر شخصی که تمایل به یادگیری نحوه پردازش متن و استخراج دادهها در محیطی مانند یونیکس را دارد، مفید خواهد بود.
بعد از فراگیری دوره آموزش AWK جه مهارتهایی کسب خواهید کرد؟
برای آموزش زبان برنامهنویسی AWK بهتر است درک اولیهای از سیستم عامل GNU/ linux و اسکریپت نویسی پوسته داشته باشید.
اگر با تحلیل متن سروکار دارید و تا حدودی با سیستم عامل GNU/ linux آشنایی دارید، از دوره آموزش رایگان AWK میتوانید نهایت استفاده را ببرید.