دستورات Awk
پنج شنبه 2 دی 1389 7:13 AMدستورات Awk
دستورات awk عبارتهایی هستن که جایگزین میشوند به عنوان فعالیت در مثالهای بالا .دستورهای awk میتوانند شامل فراخوانی تابع،انتساب به متغییرها ،محاسبات یا هر ترکیبی آز آنها که بشود.awk دارای پشتیبانی داخلی برای خیلی از توابع است awk امکانات بیشتری را توسط چاشنیهای گوناگون فراهم نموده است.همچنین بعضی از کتابخانهها پشتیبانی میکنند شمول کتابخانههای متصل شده پویا را که همچنین میتوانند توابع بیشتری را فراهم کنند.برای اختصار در میان گذاشتن {} از این مثالها حذف خواهد شد. فرمان چاپ برای متن خروجی استفاده میشود .متن خروجی همیشه با یک رشته از پیش تعریف شده پایان داده میشود که فراخوانی میکند خروجی ضبط شده جدا کننده (ORS) که پیش فرض مقدار آن یک خط جدید است.سادهترین شکل این دستور به این صورت است:
print
که نشان دهنده محتویات سطر جاری در awk میباشد .خطها به زمینهها شکسته میشوند و اینها میتوانند به طور جداگانه نمایش داده شوند:
print $1
اولین زمینه از خط جاری را نشان میدهد:
print $1, $3
اولین و سومین زمینه از سطر جاری را نشان میدهد ومجزا شده اند به وسیله رشته از قبل تعریف شده فراخوانده خروجی زمینه جداسازی (OFS) که پیش فرض مقدار یک کاراکتر فاصله خالی است. اگرچه ممکن است این زمینهها ($X) جهتی را شبیه به متغییرها تعریف کنند (علامت $ نشان دهنده متغییرها در perl میباشد) آنها واقعا به زمینههای سطر جاری مراجعه میکنند.مورد ویژه $0 مراجعه میکند به خط کامل در حقیقت دستور "print و "print $0" با یکدیگر در طراحی مساوی هستند .دستور چاپ میتواند همچنین محاسبات و فراخوانی تابع را نشان دهد.
print 3+2
(print foobar(3
(print foobar(variable
(print sin(3-2
خروجی ممکن است که به فایل فرستاده شود:
"print "expression" > "file name
یا در یک لوله :
"print "expression" | "command