PDA

توجه ! این یک نسخه آرشیو شده میباشد و در این حالت شما عکسی را مشاهده نمیکنید برای مشاهده کامل متن و عکسها بر روی لینک مقابل کلیک کنید : Awk ابزار یا زبان



CodeBox
October 2nd, 2019, 14:03
http://redup.ir/img.php?image=4280_1_jsr6.jpg (http://redup.ir/)


در سیستم عامل های یونیکس پایه یکی از ضروری ترین فرایندها، پردازش متن از جمله جستجو و تحلیل متن ها در فایل ها می باشد. در این فرایند سرعت پردازش از اهمیت بسیار بالایی برخوردار می باشد خصوصا که با رشد تکنولوژی ظرفیت ذخیره سازی دیسک ها افزوده شده و به این ترتیب حجم فایل هایی که بر روی این دیسک ها نگهداری می شود گاهاً بسیار بالا و در تعداد زیادی می باشد. از این رو ضرورت استفاده از ابزاری مناسب برای جستجو و تحلیل متن احساس می شد.

در سال 1985 نخستین بار عرضه ای از زبان AWK به ثبت موسسه استانداردهای بین المللی IEEE رسید. در نگاه نخست امتیاز اصلی این زبان پشتیبانی از Regular Expressions می باشد که به ما امکان واکش کردن ترکیب های دلخواه و سفارشی از میانه رشته های متنی (Strings) را به صورت دقیق با قابلیت تکرار پذیری می دهد. قابلیت دیگر این زبان ترکیب آن از طریق فراخوانی در خط فرمان با دستورات مختلف یونیکس مانند SED می باشد. با کمک این ترکیب ها می توانیم علاوه بر تحلیل و جستجوی متن نسبت به جانشین کردن (Replace) عبارت مد نظر نیز اقدام کنیم.


زبان AWK نخست به منظور تجسس در پیام های ارسالی بین کاربران در سیستم های ارتباطی طراحی شده بود. اما بعد از عمومی شدن آن و محبوبیت بالایی که به دست آورد مورد توجه توسعه دهندگان جانبی قرار گرفت. همچنین با گذر زمان نسخه جدید تری از آن ایجاد شد که سرعت بالاتری نسبت به نسخه قدیمی داشت و NAWK نام گرفت. شیوه بسیاری از اقدامات در هر دو زبان مشابه یک دیگر می باشد. در زیر برخی از مثال های پر کاربرد این زبان ارائه شده است:





echo 'I like programming' | awk '{ print $3 }'




$ cat phone.txt
$ awk '$1=$1' FS=":" OFS="-" phone.txt





$ awk '{ print $1 }' FS='\t' input.txt






$ awk -F "," 'NR>1 {print "Name:" $2 ", Email:" $3 ", Phone:" $4}' customer.csv


ما در تیم برنامه نویسی کدباکس خدمات تخصصی مبتنی بر این ابزار ارائه می کنیم و آماده ارائه مشاوره و پاسخ گویی به سوالات شما در خصوص این زبان ساده و کارآمد هستیم. می توانید سوالات خود را به دنبال همین مطلب مطرح نمائید.