وبلاگ رسانگار
با ما حرفه ای باشید

سرور مجازی NVMe

روش استفاده از حلقه for در دستور awk

0 3
زمان لازم برای مطالعه: 2 دقیقه


حلقه برای اجرای چندباره برخی از دستورات استفاده می شود. تکرار حلقه بر اساس روی شرایط پایان یا تعداد عناصر آرایه. سه نوع حلقه توسط هر زبان برنامه نویسی پشتیبانی می شود. حلقه For یکی از آنهاست. حلقه for را می توان به دو روش اعلام کرد. حلقه Simple for شامل سه بخش است. و یکی دیگر از حلقه های for حلقه for-in است که برای تکرار هر لیستی از داده ها یا آرایه ها استفاده می شود. این آموزش استفاده از این دو نوع حلقه را در دستور awk با استفاده از مثال های مختلف نشان می دهد.

نحو:

  1. برای اعلام حلقه:
برای (مقداردهی اولیه؛ شرط خاتمه؛ افزایش/کاهش) {

بیانیه
}

قسمت اول برای مقداردهی اولیه متغیر برای شروع استفاده می شود برای حلقه قسمت دوم شامل شرط پایان برای کنترل تکرار حلقه است و حلقه تا زمانی که شرط درست باشد ادامه خواهد داشت. قسمت آخر بر اساس متغیر مقداردهی اولیه را افزایش یا کاهش می دهد روی بخش اول.

  1. برای اعلامیه
برای (متغیر که در آرایه/فهرست) {

بیانیه
}

برای در حلقه برای انجام کارهایی که تعداد تکرار حلقه ثابت نیست استفاده می شود. برای در حلقه عمدتاً برای تجزیه یک آرایه یا لیستی از داده ها استفاده می شود. حلقه هر داده را از آرایه یا لیست می خواند و مقدار را در یک متغیر در هر تکرار ذخیره می کند.

مثال-1: استفاده از حلقه ساده for

یک حلقه for ساده در اسکریپت زیر استفاده شده است. اینجا، پیشخوان متغیر با 10 مقداردهی اولیه می شود و زمانی که مقدار از به پایان می رسد حلقه پایان می یابد پیشخوان کمتر از 5 است. اسکریپت خواهد شد print را پیشخوان مقادیر از 10 تا 5. دستور را از terminal.

$ echo | بیخیال ‘{ for (counter = 10; counter >= 5; counter–)
print “Running for “,counter, “time.”,”\n”; }’

خروجی:

پس از اجرای دستور خروجی زیر ظاهر می شود.

پیشنهاد می‌کنیم بخوانید:  مجوزهای فایل را به صورت بازگشتی لینوکس تغییر دهید

روش استفاده از حلقه for در دستور awk

مثال-2: استفاده از حلقه for-in برای خواندن یک آرایه

آرایه ای به نام Customer در اسکریپت زیر که در آن مشتری است، اعلام شده است شناسه به عنوان شاخص آرایه و مشتری تنظیم می شود نام به عنوان مقدار آرایه تنظیم شده است. برای در حلقه در اینجا برای تکرار هر شاخص از آرایه و استفاده می شود print نام مشتری اسکریپت را از قسمت اجرا کنید terminal.

$ echo | بیخیال شروع {مشتری[“4587”] = “نیل جانسون”;
مشتری[“8953”] = «الا بینته نظیر»;
مشتری[“3455”] = “بروس هایسلوپ”;
مشتری[“6335”] = “ایزابلا”;

}END { برای (من در مشتری)
print “نام “، i،” “مشتری است[i]

}’

خروجی:

پس از اجرای اسکریپت خروجی زیر ظاهر می شود.

روش استفاده از حلقه for در دستور awkروش استفاده از حلقه for در دستور awk

مثال-3: استفاده از حلقه تو در تو

هنگامی که یک حلقه for تحت حلقه for دیگری اعلام می شود، حلقه for تودرتو نامیده می شود. حلقه بیرونی که در این اسکریپت استفاده می شود 2 بار و حلقه داخلی 3 بار تکرار می شود. بنابراین print دستور برای (2X3=6) 6 بار اجرا خواهد شد. اسکریپت را از قسمت اجرا کنید terminal.

$ echo | بیخیال ‘END{ برای (i=1; i<=2; i++)
برای (j=1؛ j<=3؛ j++)
print “تکرار ردیف “, i,” و ستون “, j,”\n”;}’

خروجی:

پس از اجرای اسکریپت خروجی زیر ظاهر می شود.

روش استفاده از حلقه for در دستور awkروش استفاده از حلقه for در دستور awk

مثال-4: استفاده از حلقه for با دستور break

زنگ تفریح دستور در هر حلقه ای برای خاتمه دادن به حلقه قبل از رسیدن به شرط پایان بر اساس استفاده می شود روی شرایط خاص در اسکریپت زیر، حلقه for از 3 شروع می شود و زمانی که مقدار آن به پایان می رسد من بزرگتر از 20 است. اما زمانی که مقدار من برابر با متغیر خواهد بود تعداد سپس شرط if درست خواهد بود و حلقه برای the خاتمه می یابد زنگ تفریح بیانیه.

$ echo | بیخیال ‘شروع{ num=7; }END{ برای (i=3; i<=20; i++) {
if( i == num) break;
دیگر
print “مقدار فعلی i =”,i ,”\n”;}}’

خروجی:

در اینجا، اگر شرط برای چهار تکرار نادرست است زمانی که مقدار من 3،4،5 و 6 است. بنابراین، خروجی زیر برای چهار تکرار چاپ می شود.

روش استفاده از حلقه for در دستور awkروش استفاده از حلقه for در دستور awk

مثال-5: استفاده از حلقه for با دستور continue

دستور Continue در هر حلقه ای برای حذف هر دستوری استفاده می شود روی هر شرایط خاصی آرایه ای به نام تولید – محصول در اسکریپت زیر اعلام شده است. برای در حلقه برای تکرار آرایه و بررسی هر مقدار با ” استفاده می شود.نرم افزار آفیس“. اگر مقدار مطابقت داشته باشد، یک پیام در دسترس نیست print با حذف پیام موجود برای بیانیه ادامه، در غیر این صورت پیام در دسترس نیست print. اسکریپت را از قسمت اجرا کنید terminal.

$ echo | بیخیال ‘شروع{محصول[“1001″]”آنتی ویروس”;
تولید – محصول[“1002″]”نرم افزار آفیس”;
تولید – محصول[“1003″]”نرم افزار نقشه کشی”;
تولید – محصول[“1004″]”HDD”;
تولید – محصول[“1005″]=”DVD”;} END{ برای (i در محصول) {
اگر (محصول[i] == “نرم افزار آفیس”) {
print تولید – محصول[i]”در دسترس نیست\n”؛
ادامه هید؛
}
print تولید – محصول[i]” موجود است” ,”\n”;}}’

خروجی:

پیشنهاد می‌کنیم بخوانید:  فرمان Bash Test

پس از اجرای اسکریپت خروجی زیر ظاهر می شود.

روش استفاده از حلقه for در دستور awkروش استفاده از حلقه for در دستور awk

مثال-6: استفاده از حلقه for در فایل awk

یک فایل متنی با نام ایجاد کنید sales.txt و برای تمرین این مثال مطالب زیر را اضافه کنید.

sales.txt

2015 70000
2016 80000
2017 83000
2018 86000
2019 90000

یک فایل awk با نام ایجاد کنید cal_sal.awk با اسکریپت زیر کل مبلغ فروش فایل را محاسبه کنید sales.txt. فیلد دوم حاوی مبلغ فروش سالانه در فایل است sales.txt. در فیلمنامه، فروش آرایه تمام مقادیر فیلد دوم و را ذخیره می کند مجموع متغیر با 0 مقداردهی اولیه می شود تا همه مقادیر را اضافه کند حراجی آرایه. بعد، برای در حلقه برای تکرار هر عنصر استفاده می شود فروش آرایه کنید و مقدار را با مجموع متغیر. در آخر، print بیانیه استفاده می شود print ارزش مجموع متغیر برای نمایش مبلغ کل فروش.

cal_sal.awk

{

حراجی[i++]=2 دلار;
مجموع=0;
}

پایان{
برای (من که در حراجی)
{
مجموع=مجموع+فروش[i];
}
print “مبلغ کل فروش =” مجموع;
}

دستور زیر را برای اجرای اسکریپت فایل cal_sal.awk اجرا کنید.

$ بیخیال cal_sal.awk sales.txt

خروجی:

5 رکورد در sales.txt فایل و مجموع مبلغ فروش 409000 است که پس از اجرای اسکریپت چاپ می شود.

روش استفاده از حلقه for در دستور awkروش استفاده از حلقه for در دستور awk

نتیجه:

در این آموزش سعی شده است کاربردهای مختلف حلقه for در دستور awk توضیح داده شود. امیدوارم خواننده ایده روشنی پیدا کند روی از حلقه for در اسکریپت awk استفاده می کند و می تواند از حلقه for به درستی در برنامه نویسی awk استفاده کند.

برای نگارش بخشهایی از این متن ممکن است از ترجمه ماشینی یا هوش مصنوعی GPT استفاده شده باشد
لطفا در صورت وجود مشکل در متن یا مفهوم نبودن توضیحات، از طریق دکمه گزارش نوشتار یا درج نظر روی این مطلب ما را از جزییات مشکل مشاهده شده مطلع کنید تا به آن رسیدگی کنیم

زمان انتشار: 1402-12-31 20:03:03

امتیاز شما به این مطلب
دیدگاه شما در خصوص مطلب چیست ؟

آدرس ایمیل شما منتشر نخواهد شد.

لطفا دیدگاه خود را با احترام به دیدگاه های دیگران و با توجه به محتوای مطلب درج کنید