انگلیسیفرانسویاسپانیایی

Ad


فاویکون OnWorks

gawk - آنلاین در ابر

اجرای gawk در ارائه دهنده هاست رایگان OnWorks از طریق Ubuntu Online، Fedora Online، شبیه ساز آنلاین ویندوز یا شبیه ساز آنلاین MAC OS

این دستور gawk است که می تواند در ارائه دهنده هاست رایگان OnWorks با استفاده از یکی از چندین ایستگاه کاری آنلاین رایگان ما مانند Ubuntu Online، Fedora Online، شبیه ساز آنلاین ویندوز یا شبیه ساز آنلاین MAC OS اجرا شود.

برنامه:

نام


gawk - اسکن الگو و زبان پردازش

خلاصه


گاو [ گزینه های سبک POSIX یا GNU ] -f فایل برنامه [ -- ] فایل ...
گاو [ گزینه های سبک POSIX یا گنو ] [ -- ] برنامه-متن فایل ...

شرح


گاوک اجرای پروژه گنو از زبان برنامه نویسی AWK است. مطابقت دارد
تعریف زبان در استاندارد POSIX 1003.1. این نسخه به نوبه خود است
بر اساس توضیحات در La AWK برنامه نويسي زبان، توسط آهو، کرنیغان، و
واینبرگر گاوک ویژگی های اضافی موجود در نسخه فعلی برایان را فراهم می کند
کرنیگان بیدار و تعدادی پسوند خاص گنو.

خط فرمان شامل گزینه هایی برای گاو خود، متن برنامه AWK (اگر ارائه نشده باشد
از طریق -f or --فایل گزینه ها)، و مقادیری که باید در دسترس قرار گیرند ARGC و ARGV قبل از
متغیرهای AWK تعریف شده است.

چه زمانی گاو با فراخوانی می شود --مشخصات گزینه، شروع به جمع آوری آمار پروفایل می کند
از اجرای برنامه گاوک در این حالت کندتر و به صورت خودکار اجرا می شود
یک نمایه اجرایی در فایل ایجاد می کند awkprof.out وقتی انجام شد را ببینید --مشخصات
گزینه، در زیر

گاوک همچنین دارای یک دیباگر یکپارچه است. یک جلسه اشکال زدایی تعاملی می تواند توسط
تهیه - رفع اشکال گزینه ای در خط فرمان در این حالت اجرا، گاو بارهای
کد منبع AWK و سپس دستورات اشکال زدایی را درخواست می کند. گاوک فقط می تواند AWK را اشکال زدایی کند
منبع برنامه ارائه شده با -f گزینه. اشکال زدا در مستند شده است GAWK: موثر
AWK برنامه نويسي.

گزینه FORMAT


گاوک گزینه ها ممکن است گزینه های یک حرفی به سبک POSIX سنتی یا طولانی به سبک گنو باشند
گزینه ها. گزینه های POSIX با یک "-" شروع می شوند، در حالی که گزینه های طولانی با "--" شروع می شوند. طولانی
گزینه هایی هم برای ویژگی های خاص گنو و هم برای ویژگی های اجباری POSIX ارائه شده است.

گاوکگزینه های خاص معمولاً به صورت گزینه طولانی استفاده می شود. استدلال به گزینه های طولانی
یا با گزینه به هم پیوست می شوند = علامت، بدون فضاهای مداخله ای، یا ممکن است باشند
در آرگومان خط فرمان بعدی ارائه شده است. گزینه های طولانی ممکن است مخفف شوند، تا زمانی که
مخفف منحصر به فرد باقی می ماند.

علاوه بر این، هر گزینه طولانی یک گزینه کوتاه مربوطه دارد، به طوری که گزینه
عملکرد ممکن است از داخل استفاده شود #! اسکریپت های اجرایی

OPTIONS


گاوک گزینه های زیر را می پذیرد. گزینه های استاندارد ابتدا لیست می شوند و به دنبال آن
گزینه های برای گاو پسوندها، بر اساس حروف الفبا و با گزینه کوتاه فهرست شده اند.

-f فایل برنامه
--فایل فایل برنامه
منبع برنامه AWK را از فایل بخوانید فایل برنامه، به جای از اول
آرگومان خط فرمان چندگانه -f (و یا --فایل) ممکن است از گزینه ها استفاده شود.

-F fs
--فیلد جداکننده fs
استفاده کنید fs برای جداکننده فیلد ورودی (مقدار FS متغیر از پیش تعریف شده).

-v VAR=وال
-- اختصاص دادن VAR=وال
مقدار را تعیین کنید وال به متغیر VAR، قبل از شروع اجرای برنامه.
چنین مقادیر متغیری در دسترس هستند شروع قانون یک برنامه AWK

-b
-- کاراکترها به عنوان بایت
تمام داده های ورودی را به عنوان کاراکترهای تک بایتی در نظر بگیرید. به عبارت دیگر، هیچ پرداختی نکنید
هنگام تلاش برای پردازش رشته ها به صورت چند بایتی به اطلاعات محلی توجه کنید
شخصیت ها. --posix گزینه این یکی را لغو می کند.

-c
--سنتی
اجرا سازگاری حالت در حالت سازگاری، گاو یکسان رفتار می کند
برایان کرنیگان بیدار; هیچ یک از پسوندهای خاص گنو شناسایی نمی شوند. دیدن گنو
حرکات، برای اطلاعات بیشتر در زیر

-C
--کپی رایت
نسخه کوتاه پیام اطلاعات حق چاپ گنو را روی استاندارد چاپ کنید
خروجی و خروج با موفقیت

-d[پرونده]
--dump-variables[=پرونده]
یک لیست مرتب شده از متغیرهای سراسری، انواع و مقادیر نهایی آنها را چاپ کنید پرونده. اگر
نه پرونده ارائه شده است ، گاو از فایلی به نام استفاده می کند awkvars.out در دایرکتوری فعلی
داشتن فهرستی از همه متغیرهای سراسری راه خوبی برای جستجوی تایپوگرافی است
خطا در برنامه های شما در صورت داشتن حجم بزرگ نیز از این گزینه استفاده خواهید کرد
برنامه ای با توابع زیاد، و می خواهید مطمئن باشید که توابع شما این کار را نمی کنند
به طور ناخواسته از متغیرهای سراسری که می‌خواهید محلی باشند استفاده کنید. (این یک است
اشتباه بسیار آسانی که با نام متغیرهای ساده مانند i, j، و غیره.)

-D[پرونده]
- رفع اشکال[=پرونده]
اشکال زدایی برنامه های AWK را فعال کنید. به طور پیش فرض، دیباگر دستورات را می خواند
به صورت تعاملی از صفحه کلید (ورودی استاندارد). اختیاری پرونده استدلال
فایلی را با لیستی از دستورات برای دیباگر مشخص می کند تا غیر از آن را اجرا کند.
به صورت تعاملی

-e برنامه-متن
-- منبع برنامه-متن
استفاده کنید برنامه-متن به عنوان کد منبع برنامه AWK. این گزینه به راحتی امکان پذیر است
آمیختگی توابع کتابخانه (از طریق -f و --فایل گزینه ها) با منبع
کد وارد شده در خط فرمان در درجه اول برای AWK متوسط ​​تا بزرگ در نظر گرفته شده است
برنامه های مورد استفاده در اسکریپت های پوسته

-E پرونده
-- اجرا پرونده
مشابه -fبا این حال، این آخرین گزینه پردازش شده است. این باید باشد
مورد استفاده با #! اسکریپت ها، به ویژه برای برنامه های CGI، برای جلوگیری از عبور
گزینه ها یا کد منبع (!) در خط فرمان از یک URL. این گزینه غیرفعال می شود
تخصیص متغیرهای خط فرمان

-g
---جنس دیگ
برنامه AWK را اسکن و تجزیه کنید و یک GNU ایجاد کنید گلدان (الگوی اشیاء قابل حمل)
فرمت فایل بر روی خروجی استاندارد با ورودی برای تمام رشته های قابل بومی سازی در
برنامه خود برنامه اجرا نمی شود. به گنو مراجعه کنید متن توزیع برای
اطلاعات بیشتر در مورد گلدان فایل های.

-h
--کمک خلاصه ای نسبتاً کوتاه از گزینه های موجود در خروجی استاندارد چاپ کنید.
(طبق گنو برنامه نویسی استانداردها، این گزینه ها باعث خروج فوری و موفقیت آمیز می شوند.)

-i شامل-فایل
--عبارتند از شامل-فایل
یک کتابخانه منبع awk بارگیری کنید. این کتابخانه را با استفاده از AWKPATH
متغیر محیطی. اگر جستجوی اولیه ناموفق باشد، تلاش دیگری انجام خواهد شد
پس از الحاق .awk پسوند. فایل فقط یک بار بارگذاری می شود (یعنی
موارد تکراری حذف می شوند)، و کد برنامه اصلی را تشکیل نمی دهد
منبع

-l لوب
--بار لوب
یک کتابخانه مشترک بارگیری کنید لوب. این کتابخانه را با استفاده از AWKLIBPATH
متغیر محیطی. اگر جستجوی اولیه ناموفق باشد، تلاش دیگری انجام خواهد شد
پس از افزودن پسوند پیش فرض کتابخانه مشترک برای پلتفرم. کتابخانه
انتظار می رود روال اولیه سازی نامگذاری شود dl_load().

-L [ارزش]
-- پرز[=ارزش]
هشدارهایی را در مورد ساختارهایی که مشکوک یا غیرقابل حمل هستند برای سایر AWK ارائه دهید
پیاده سازی ها با آرگومان اختیاری از کشنده، هشدارهای پرز کشنده می شوند
خطاها این ممکن است شدید باشد، اما استفاده از آن مطمئناً توسعه را تشویق می کند
برنامه های پاک کننده AWK با آرگومان اختیاری از بی اعتبار، فقط هشدارهایی در مورد
چیزهایی که در واقع باطل است صادر می شود. (این هنوز به طور کامل اجرا نشده است.)

-M
--بیگنوم
محاسبات دقیق دلخواه را روی اعداد وادار کنید. این گزینه هیچ تاثیری ندارد اگر گاو
برای استفاده از کتابخانه MPFR و MP گنو کامپایل نشده است.

-n
-- داده های غیر اعشاری
مقادیر هشت و هگزادسیمال را در داده های ورودی تشخیص دهید. استفاده کنید این انتخاب با بزرگ
احتیاط!

-N
--use-lc-numeric
این نیروها گاو برای استفاده از کاراکتر نقطه اعشار محلی هنگام تجزیه ورودی
داده ها. اگرچه استاندارد POSIX این رفتار را می طلبد، و گاو وقتی این کار را انجام می دهد
--posix در واقع، پیش فرض پیروی از رفتار سنتی و استفاده از a است
نقطه به عنوان نقطه اعشار، حتی در محلی که نقطه اعشار نیست
شخصیت نقطه ای این گزینه رفتار پیش‌فرض را بدون کامل لغو می‌کند
سختگیری شدید --posix گزینه.

-o[پرونده]
-چاپ زیبا[=پرونده]
خروجی یک نسخه چاپ شده زیبا از برنامه را به پرونده. اگر نه پرونده ارائه شده است ،
گاو از فایلی به نام استفاده می کند awkprof.out در دایرکتوری فعلی

-O
--بهینه سازی
بهینه سازی ها را بر اساس نمایش داخلی برنامه فعال کنید. در حال حاضر،
این شامل ساده تا کردن ثابت، و حذف تماس دم برای بازگشتی است
کارکرد. گاو نگهدارنده امیدوار است در طول زمان بهینه سازی های بیشتری را اضافه کند.

-p[پروفیل]
--مشخصات[=پروفیل]
یک جلسه نمایه سازی را شروع کنید و داده های پروفایل را به آن ارسال کنید پروفیل. به طور پیش فرض
is awkprof.out. نمایه شامل تعداد اجرای هر عبارت در
برنامه در حاشیه سمت چپ و تعداد فراخوانی تابع برای هر تابع تعریف شده توسط کاربر.

-P
--posix
این روشن می شود سازگاری حالت، با محدودیت های اضافی زیر:

· \x دنباله های فرار شناسایی نمی شوند.

· فقط فضا و تب به عنوان جداکننده فیلد زمانی عمل می کنند که FS روی یک فضای واحد تنظیم شده است،
خط جدید ندارد.

· شما نمی توانید خطوط را بعد از آن ادامه دهید ? و :.

· مترادف عملکرد برای کلمه کلیدی تابع به رسمیت شناخته نمی شود.

· اپراتورها ** و **= نمی توان به جای استفاده کرد ^ و ^=.

-r
-- بازه زمانی
فعال کردن استفاده از فاصله اصطلاحات در تطبیق عبارت منظم (نگاه کنید به منظم
عبارات، در زیر). عبارات فاصله به طور سنتی در دسترس نبود
زبان AWK استاندارد POSIX آنها را برای ساختن اضافه کرد بیدار و egrep مطابق با
یکدیگر. آنها به طور پیش فرض فعال هستند، اما این گزینه برای استفاده باقی می ماند
--سنتی.

-S
--جعبه شنی
اجرا می شود گاو در حالت sandbox، غیرفعال کردن سیستم() تابع، تغییر مسیر ورودی با
دریافت خط، تغییر مسیر خروجی با چاپ و printf، و بارگیری افزونه های پویا.
اجرای فرمان (از طریق خطوط لوله) نیز غیرفعال است. این به طور موثری را مسدود می کند
اسکریپت از دسترسی به منابع محلی (به جز فایل های مشخص شده در
خط فرمان).

-t
-- کهنه پرز
اخطارهایی را در مورد ساختارهایی که قابل حمل به نسخه اصلی نیستند ارائه دهید
UNIX بیدار.

-V
- نسخه
اطلاعات نسخه چاپی برای این نسخه خاص از گاو روی خروجی استاندارد
این به طور عمده برای دانستن اینکه آیا نسخه فعلی از گاو در سیستم شما بالا است
تا به امروز با توجه به آنچه بنیاد نرم افزار آزاد توزیع می کند.
این همچنین هنگام گزارش اشکال مفید است. (طبق گنو برنامه نویسی استانداردها، این
گزینه ها باعث خروج فوری و موفقیت آمیز می شوند.)

-- علامت پایان گزینه ها این برای اجازه دادن آرگومان های بیشتر به AWK مفید است
برنامه خود را با "-" شروع کند. این امر سازگاری با استدلال را فراهم می کند
قرارداد تجزیه که توسط اکثر برنامه های دیگر POSIX استفاده می شود.

در حالت سازگاری، هر گزینه دیگری به عنوان نامعتبر علامت گذاری می شود، اما غیر از این است
نادیده گرفته شده است. در عملکرد عادی، تا زمانی که متن برنامه ارائه شده است، گزینه های ناشناخته است
به برنامه AWK در ARGV آرایه برای پردازش این به ویژه است
مفید برای اجرای برنامه های AWK از طریق "#!" مکانیزم مترجم اجرایی

برای سازگاری با POSIX، -W گزینه ممکن است استفاده شود، به دنبال آن نام یک گزینه طولانی.

AWK برنامه اعدام


یک برنامه AWK متشکل از دنباله ای از دستورات الگو-عمل و تابع اختیاری است
تعاریف

@عبارتند از "نام فایل"
@بار "نام فایل"
الگو { اقدام اظهارات }
تابع نام(پارامتر فهرست) { اظهارات }

گاوک ابتدا منبع برنامه را از روی می خواند فایل برنامه(ها) در صورت مشخص شدن، از آرگومان ها
به -- منبع، یا از اولین آرگومان غیر گزینه ای در خط فرمان. در -f و
-- منبع گزینه ها ممکن است چندین بار در خط فرمان استفاده شوند. گاوک برنامه را می خواند
متنی که انگار همه فایل برنامهs و متون منبع خط فرمان به هم پیوسته بودند
با یکدیگر. این برای ساخت کتابخانه های توابع AWK، بدون نیاز به مفید است
آنها را در هر برنامه AWK جدیدی که از آنها استفاده می کند، بگنجانید. همچنین قابلیت مخلوط کردن را فراهم می کند
توابع کتابخانه با برنامه های خط فرمان.

علاوه بر این، خطوط شروع با @عبارتند از ممکن است برای گنجاندن سایر فایل های منبع در آن استفاده شود
برنامه شما، استفاده از کتابخانه را حتی آسان تر می کند. این معادل استفاده از -i گزینه.

خطوطی که با @بار ممکن است برای بارگیری کتابخانه های مشترک در برنامه شما استفاده شود. این
معادل استفاده از -l گزینه.

متغیر محیطی AWKPATH یک مسیر جستجو را برای استفاده در هنگام یافتن فایل های منبع مشخص می کند
به نام با -f و -i گزینه ها. اگر این متغیر وجود نداشته باشد، مسیر پیش فرض است
".:/usr/local/share/awk". (بسته به نحوه دایرکتوری واقعی ممکن است متفاوت باشد گاو بود
ساخته و نصب شده است.) اگر نام فایلی به -f گزینه حاوی یک کاراکتر "/" است، خیر
جستجوی مسیر انجام می شود.

متغیر محیطی AWKLIBPATH یک مسیر جستجو را برای استفاده در هنگام یافتن منبع مشخص می کند
فایل های نام گذاری شده با -l گزینه. اگر این متغیر وجود نداشته باشد، مسیر پیش فرض است
"/usr/local/lib/gawk". (بسته به نحوه دایرکتوری واقعی ممکن است متفاوت باشد گاو ساخته شده
و نصب شد.)

گاوک برنامه های AWK را به ترتیب زیر اجرا می کند. اول، تمام تکالیف متغیر
مشخص شده از طریق -v گزینه انجام می شود. بعد، گاو برنامه را در یک کامپایل می کند
فرم داخلی سپس، گاو کد را در شروع قانون(ها) (در صورت وجود)، و سپس
به خواندن هر فایل نامگذاری شده در ادامه می دهد ARGV آرایه (تا ARGV[ARGC]). اگر وجود ندارد
فایل های نام گذاری شده در خط فرمان، گاو ورودی استاندارد را می خواند.

اگر نام فایل در خط فرمان دارای فرم باشد VAR=وال به عنوان یک متغیر در نظر گرفته می شود
وظیفه. متغیر VAR مقدار به آن اختصاص داده خواهد شد وال. (این بعد از هر اتفاقی می افتد
شروع قانون(های) اجرا شده است.) تخصیص متغیر خط فرمان بیشترین کاربرد را دارد
تخصیص پویا مقادیر به متغیرهایی که AWK برای کنترل نحوه شکستن ورودی استفاده می کند
زمینه ها و سوابق همچنین برای کنترل وضعیت در صورت نیاز به چندین پاس مفید است
روی یک فایل داده واحد

اگر مقدار یک عنصر خاص از ARGV خالی است (""), گاو از آن می گذرد

برای هر فایل ورودی، اگر a BEGINFILE قانون وجود دارد، گاو کد مربوطه را قبلا اجرا می کند
پردازش محتویات فایل به همین ترتیب، گاو کد مرتبط با را اجرا می کند
ENDFILE پس از پردازش فایل

برای هر رکورد در ورودی، گاو تست می کند تا ببیند آیا مطابقت دارد یا خیر الگو در AWK
برنامه برای هر الگوی که رکورد مطابقت دارد، گاو مربوط را اجرا می کند اقدام.
الگوها به ترتیبی که در برنامه وجود دارند آزمایش می شوند.

در نهایت، پس از اتمام تمام ورودی ها، گاو کد را در END قانون(ها) (اگر
هر).

فرمان لاین راهنماها
با توجه به POSIX، فایل‌هایی که بر روی بیدار خط فرمان باید فایل های متنی باشد. رفتار
"تعریف نشده" است اگر آنها نیستند. اکثر نسخه های بیدار یک دایرکتوری را در دستور درمان کنید
خط به عنوان یک خطای مرگبار

شروع با نسخه 4.0 از گاو، یک دایرکتوری در خط فرمان یک هشدار تولید می کند، اما
در غیر این صورت نادیده گرفته می شود. اگر یکی از --posix or --سنتی گزینه ها داده می شود، سپس
گاو به دایرکتوری ها در خط فرمان به عنوان یک خطای مهلک برخورد می کند.

متغیرها، سوابق و زمینه های


متغیرهای AWK پویا هستند. آنها زمانی که برای اولین بار استفاده می شوند به وجود می آیند. آنها
مقادیر یا اعداد ممیز شناور یا رشته ها یا هر دو هستند، بسته به اینکه چگونه هستند
استفاده شده. AWK همچنین دارای آرایه های یک بعدی است. ممکن است آرایه هایی با ابعاد چندگانه باشند
شبیه سازی شده. گاوک آرایه های واقعی آرایه ها را فراهم می کند. دیدن آرایه ها، در زیر چند مورد از پیش تعریف شده
متغیرها با اجرای برنامه تنظیم می شوند. این موارد در صورت نیاز شرح داده شده و در زیر خلاصه می شود.

سوابق
به طور معمول، رکوردها با کاراکترهای خط جدید از هم جدا می شوند. شما می توانید نحوه رکوردها را کنترل کنید
با تخصیص مقادیر به متغیر داخلی جدا می شود RS. اگر RS هر شخصیت واحدی است،
آن شخصیت رکوردها را جدا می کند. در غیر این صورت، RS یک عبارت منظم است متن در
ورودی که با این عبارت منظم مطابقت دارد رکورد را جدا می کند. با این حال، در
حالت سازگاری، فقط اولین کاراکتر مقدار رشته آن برای جداسازی استفاده می شود
سوابق. اگر RS روی رشته تهی تنظیم می شود، سپس رکوردها با خطوط خالی از هم جدا می شوند.
چه زمانی RS روی رشته تهی تنظیم شده است، کاراکتر خط جدید همیشه به عنوان جداکننده فیلد عمل می کند.
علاوه بر هر ارزشی FS ممکن است.

زمینه
با خواندن هر رکورد ورودی، گاو رکورد را به تقسیم می کند زمینه، با استفاده از مقدار
FS متغیر به عنوان جداکننده میدان اگر FS یک کاراکتر واحد است، فیلدها با جدا شده اند
آن شخصیت اگر FS رشته تهی است، سپس هر کاراکتر جداگانه به a تبدیل می شود
فیلد جداگانه در غیر این صورت، FS انتظار می رود که یک عبارت منظم کامل باشد. در
مورد خاص که FS یک فضای واحد است، فیلدها با اجرای فاصله ها و/یا زبانه ها از هم جدا می شوند
و/یا خطوط جدید (اما بخش را ببینید POSIX COMPATIBILITY، در زیر) توجه داشته باشید: ارزش
نادیده گرفتن (به زیر مراجعه کنید) همچنین بر نحوه تقسیم فیلدها در زمان تأثیر می گذارد FS یک عبارت منظم است،
و نحوه جداسازی رکوردها در چه زمانی RS یک عبارت منظم است

اگر پهنای میدان متغیر به یک لیست از اعداد جدا شده با فاصله، هر فیلد تنظیم شده است
انتظار می رود که عرض ثابت داشته باشد، و گاو رکورد را با استفاده از عرض های مشخص شده تقسیم می کند.
ارزش FS نادیده گرفته می شود. اختصاص یک مقدار جدید به FS or FPAT استفاده از
پهنای میدان.

به طور مشابه، اگر FPAT متغیر روی رشته ای تنظیم می شود که هر کدام یک عبارت منظم را نشان می دهد
فیلد از متنی تشکیل شده است که با آن عبارت منظم مطابقت دارد. در این مورد، به طور منظم
بیان به جای متنی که فیلدها را جدا می کند، خود فیلدها را توصیف می کند.
اختصاص یک مقدار جدید به FS or پهنای میدان استفاده از FPAT.

هر فیلد در رکورد ورودی ممکن است با موقعیت خود ارجاع داده شود: $1, $2، و غیره. $0
کل رکورد است فیلدها نباید با ثابت ارجاع شوند:

n = 5
چاپ $n

قسمت پنجم را در رکورد ورودی چاپ می کند.

متغیر NF به تعداد کل فیلدها در رکورد ورودی تنظیم می شود.

ارجاع به فیلدهای موجود (یعنی فیلدهای بعد از $NF) رشته تهی را تولید کنید.
با این حال، اختصاص دادن به یک فیلد وجود ندارد (به عنوان مثال، $(NF+2) = 5) ارزش را افزایش می دهد NF,
هر فیلد میانی را با رشته تهی به عنوان مقادیر ایجاد می کند و باعث ایجاد مقدار می شود
of $0 برای محاسبه مجدد، با جدا شدن فیلدها با مقدار FSO. منابع
به فیلدهای با شماره منفی باعث خطای مهلک می شود. کاهش می یابد NF باعث مقادیر از
فیلدهای گذشته از مقدار جدیدی که باید از دست برود، و مقدار $0 برای محاسبه مجدد، با
فیلدهایی که با مقدار از هم جدا می شوند FSO.

تخصیص یک مقدار به یک فیلد موجود باعث می شود که کل رکورد در زمانی که $0 is
ارجاع داده شد. به طور مشابه، اختصاص یک مقدار به $0 باعث می شود رکورد مجدداً تقسیم شود و ایجاد شود
مقادیر جدید برای فیلدها

توکار متغیر
گاوکمتغیرهای داخلی عبارتند از:

ARGC تعداد آرگومان های خط فرمان (شامل گزینه هایی برای گاو، و یا
منبع برنامه).

ARGIND شاخص در ARGV فایل فعلی در حال پردازش

ARGV آرایه ای از آرگومان های خط فرمان آرایه از 0 تا ایندکس شده است ARGC - 1
تغییر پویا محتویات ARGV می تواند فایل های مورد استفاده برای داده ها را کنترل کند.

BINMODE در سیستم های غیر POSIX، استفاده از حالت "دودویی" را برای تمام فایل های ورودی/خروجی مشخص می کند.
مقادیر عددی 1، 2 یا 3، مشخص می کند که فایل های ورودی، فایل های خروجی یا همه
فایل ها به ترتیب باید از I/O باینری استفاده کنند. مقادیر رشته از "ر"، یا "w"
مشخص کنید که فایل های ورودی یا خروجی به ترتیب باید از باینری استفاده کنند
I/O. مقادیر رشته از "rw" or "wr" مشخص کنید که همه فایل ها باید از باینری استفاده کنند
I/O. هر مقدار رشته دیگر به عنوان در نظر گرفته می شود "rw"، اما یک هشدار ایجاد می کند
پیام

CONVFMT فرمت تبدیل اعداد، "%.6g"، به صورت پیش فرض.

محیط زیست آرایه ای حاوی مقادیر محیط فعلی. آرایه است
ایندکس شده توسط متغیرهای محیطی، هر عنصر مقدار آن است
متغیر (مثلا محیط ["خانه"] ممکن است "/home/arnold"). تغییر این آرایه
بر محیطی که توسط برنامه ها دیده می شود تأثیر نمی گذارد گاو تخم ریزی از طریق
تغییر مسیر یا سیستم() تابع.

ERRNO اگر یک خطای سیستم رخ دهد یا انجام یک تغییر مسیر برای دریافت خط، در حین خواندن
برای دریافت خط، یا در طول یک بستن()، و سپس ERRNO شامل یک رشته توصیف کننده خواهد بود
خطا. این مقدار منوط به ترجمه به زبان های غیر انگلیسی است.

پهنای میدان فهرستی از عرض فیلدها با فاصله خالی. وقتی تنظیم شد، گاو ورودی را تجزیه می کند
به جای استفاده از مقدار، وارد فیلدهایی با عرض ثابت شوید FS متغیر به عنوان
جداکننده میدان دیدن زمینه، در بالا.

نام فایل نام فایل ورودی فعلی. اگر هیچ فایلی روی دستور مشخص نشده باشد
خط، ارزش نام فایل است "-". با این حال، نام فایل در داخل تعریف نشده است
شروع قانون (مگر اینکه توسط دریافت خط).

FNR شماره رکورد ورودی در فایل ورودی فعلی.

FPAT یک عبارت منظم که محتویات فیلدها را در یک رکورد توصیف می کند. چه زمانی
تنظیم، گاو ورودی را به فیلدهایی تجزیه می کند، جایی که فیلدها با معمولی مطابقت دارند
عبارت، به جای استفاده از مقدار the FS متغیر به عنوان میدان
جدا کننده دیدن زمینه، در بالا.

FS جداکننده فیلد ورودی، یک فاصله به طور پیش فرض. دیدن زمینه، در بالا.

FUNCTAB آرایه‌ای که شاخص‌ها و مقادیر متناظر آن نام همه کاربران است.
توابع تعریف شده یا پسوند در برنامه. توجه داشته باشید: ممکن است از
حذف کردن بیانیه با FUNCTAB آرایه.

نادیده گرفتن حساسیت به حروف بزرگ و کوچک تمام عملیات عبارت منظم و رشته را کنترل می کند.
If نادیده گرفتن دارای یک مقدار غیر صفر، سپس مقایسه رشته ها و الگو
تطبیق در قوانین، تقسیم زمینه با FS و FPAT، رکورد جدا شدن با
RS، عبارت منظم مطابق با ~ و !~، و gensub(), gsub (),
فهرست مطالب(), همخوانی داشتن(), patsplit(), شکاف()و زیر() توابع داخلی همه نادیده گرفته می شوند
مورد هنگام انجام عملیات بیان منظم. توجه داشته باشید: اشتراک آرایه است
نه متأثر، تحت تأثیر، دچار، مبتلا. با این حال asort() و asorti() توابع تحت تأثیر قرار می گیرند.
بنابراین ، اگر نادیده گرفتن برابر با صفر نیست، /aB/ با تمام رشته ها مطابقت دارد
"ab", "aB", "آب"و "AB". مانند همه متغیرهای AWK، مقدار اولیه از
نادیده گرفتن صفر است، بنابراین تمام عملیات عبارت منظم و رشته هستند
معمولاً به حروف کوچک و بزرگ حساس است

LINT کنترل پویا را فراهم می کند -- پرز گزینه ای از داخل یک برنامه AWK.
وقتی درست باشد، گاو هشدارهای پرز را چاپ می کند. وقتی نادرست است، اینطور نیست. وقتی تعیین شد
مقدار رشته "کشنده"، هشدارهای پرز به خطاهای کشنده تبدیل می شوند، دقیقاً مانند
--lint=کشنده. هر مقدار واقعی دیگر فقط هشدارها را چاپ می کند.

NF تعداد فیلدها در رکورد ورودی فعلی.

NR تعداد کل رکوردهای ورودی که تاکنون دیده شده است.

OFMT فرمت خروجی اعداد، "%.6g"، به صورت پیش فرض.

FSO جداکننده فیلد خروجی، یک فاصله به طور پیش فرض.

ORS جداکننده رکورد خروجی، به طور پیش فرض یک خط جدید است.

PREC دقت کار اعداد ممیز شناور با دقت دلخواه، 53 توسط
به طور پیش فرض

PROCINFO عناصر این آرایه دسترسی به اطلاعات مربوط به AWK در حال اجرا را فراهم می کند
برنامه در برخی از سیستم ها، ممکن است عناصری در آرایه وجود داشته باشد، "گروه 1"
از طریق "گروهn" برای بعضی ها n، که تعداد گروه های تکمیلی است که
فرآیند دارد. استفاده کنید in اپراتور برای آزمایش این عناصر. در
عناصر زیر تضمین شده است که در دسترس هستند:

PROCINFO["egid"] مقدار getegid(2) تماس سیستمی.

PROCINFO["strftime"]
رشته قالب پیش‌فرض زمان برای strftime().

PROCINFO["euid"] مقدار geteuid(2) تماس سیستمی.

PROCINFO["FS"] "FS" اگر میدان تقسیم با FS در حال اجرا است، "FPAT" if
شکافتن میدان با FPAT در حال اجرا است، یا "عرض میدان"
اگر میدان تقسیم با پهنای میدان در عمل است

PROCINFO["شناسه"]
یک زیرآرایه که با نام همه شناسه های استفاده شده نمایه می شود
در متن برنامه AWK. مقادیر نشان دهنده چیست
گاو پس از اتمام آن از شناسه ها اطلاع دارد
تجزیه برنامه؛ آن ها هستند نه به روز شده در حالی که
برنامه اجرا می شود برای هر شناسه، مقدار
عنصر یکی از موارد زیر است:

"آرایه"
شناسه یک آرایه است.

"ساخته شده"
شناسه یک تابع داخلی است.

"افزونه"
شناسه یک تابع برنامه افزودنی است که از طریق آن بارگذاری می شود
@بار or -l.

"اسکالر"
شناسه یک اسکالر است.

"بی تایپ"
شناسه تایپ نشده است (می تواند به عنوان یک استفاده شود
اسکالر یا آرایه، گاو هنوز نمی داند).

"کاربر" شناسه یک تابع تعریف شده توسط کاربر است.

PROCINFO["gid"] مقدار گرفتگی(2) تماس سیستمی.

PROCINFO["pgrpid"] شناسه گروه فرآیند فرآیند جاری.

PROCINFO["pid"] شناسه فرآیند فرآیند جاری.

PROCINFO["ppid"] شناسه فرآیند والد فرآیند جاری.

PROCINFO["uid"] مقدار گیج شدن(2) تماس سیستمی.

PROCINFO["sorted_in"]
اگر این عنصر در PROCINFO، سپس ارزش آن
ترتیب عبور عناصر آرایه را کنترل می کند
in برای حلقه ها مقادیر پشتیبانی شده هستند "@ind_str_asc",
"@ind_num_asc", "@val_type_asc", "@val_str_asc",
"@val_num_asc", "@ind_str_desc", "@ind_num_desc",
"@val_type_desc", "@val_str_desc", "@val_num_desc"و
"@unsorted". مقدار همچنین می تواند نام هر کدام باشد
تابع مقایسه به صورت زیر تعریف می شود:

تابع cmp_func(i1, v1 i2 v2)

جایی که i1 و i2 شاخص ها هستند و v1 و v2 هستند
مقادیر متناظر دو عنصر مورد مقایسه
باید عددی کوچکتر، مساوی یا بزرگتر را برگرداند
از 0، بسته به اینکه عناصر آرایه چگونه هستند
سفارش داده شود.

PROCINFO["ورودی"، "READ_TIMEOUT"]
وقفه در میلی ثانیه برای خواندن داده ها از ورودی,
جایی که ورودی یک رشته تغییر مسیر یا یک نام فایل است. یک ارزش
صفر یا کمتر از صفر به معنای عدم وجود مهلت زمانی است.

PROCINFO["mpfr_version"]
نسخه ای از کتابخانه MPFR گنو که برای دلخواه استفاده می شود
پشتیبانی از اعداد دقیق در گاو. این ورودی نیست
اگر پشتیبانی MPFR در آن کامپایل نشده باشد وجود دارد گاو.

PROCINFO["gmp_version"]
نسخه کتابخانه گنو MP مورد استفاده برای دلخواه
پشتیبانی از اعداد دقیق در گاو. این ورودی نیست
اگر پشتیبانی MPFR در آن کامپایل نشده باشد وجود دارد گاو.

PROCINFO["prec_max"]
حداکثر دقت پشتیبانی شده توسط کتابخانه MPFR گنو
برای اعداد ممیز شناور با دقت دلخواه. این
اگر پشتیبانی MPFR در آن کامپایل نشده باشد، ورودی وجود ندارد
گاو.

PROCINFO["prec_min"]
حداقل دقت مجاز توسط کتابخانه MPFR گنو برای
اعداد ممیز شناور با دقت دلخواه این مدخل است
اگر پشتیبانی MPFR در آن کامپایل نشده باشد وجود ندارد گاو.

PROCINFO["api_major"]
نسخه اصلی برنامه افزودنی API. این ورودی نیست
اگر بارگیری افزونه‌های پویا در دسترس نباشد، وجود دارد.

PROCINFO["api_minor"]
نسخه فرعی برنامه افزودنی API. این ورودی نیست
اگر بارگیری افزونه‌های پویا در دسترس نباشد، وجود دارد.

PROCINFO["نسخه"] نسخه از گاو.

حالت گرد حالت گرد کردن برای محاسبه دقیق دلخواه روی اعداد، توسط
به طور پیش فرض "ن" (حالت roundTiesToEven IEEE-754). مقادیر پذیرفته شده هستند "ن" or
"ن" برای roundTiesToEven، "یا" or "تو" برای دور به سمت مثبت، "D" or "د" برای
گرد به سمت منفی، "Z" or "ز" برای roundTowardZero، و اگر نسخه شما از
کتابخانه MPFR گنو از آن پشتیبانی می کند، "به" or "یک" برای roundTiesToAway.

RS جداکننده رکورد ورودی، به طور پیش فرض یک خط جدید است.

RT پایان دهنده رکورد. گاوک مجموعه RT به متن ورودی که مطابقت دارد
کاراکتر یا عبارت منظم مشخص شده توسط RS.

RSTART شاخص اولین کاراکتر مطابق با همخوانی داشتن(); 0 در صورت عدم تطابق (این
به این معنی است که شاخص های کاراکتر از یک شروع می شوند.)

طول طول رشته مطابق با همخوانی داشتن(); -1 در صورت عدم تطابق

SUBSEP کاراکتری که برای جدا کردن چندین زیرنویس در عناصر آرایه استفاده می شود
به طور پیش فرض "\034".

SYMTAB آرایه ای که اندیس های آن نام همه متغیرهای جهانی تعریف شده فعلی است
و آرایه ها در برنامه آرایه ممکن است برای دسترسی غیر مستقیم به خواندن استفاده شود
یا مقدار یک متغیر را بنویسید:

فو = 5
SYMTAB["foo"] = 4
چاپ فو # چاپ 4

La isarray() تابع ممکن است برای آزمایش اینکه آیا یک عنصر در آن وجود دارد استفاده شود SYMTAB است
آرایه. شما ممکن است استفاده نکنید حذف کردن بیانیه با SYMTAB آرایه.

TEXTDOMAIN دامنه متنی برنامه AWK؛ برای یافتن ترجمه های محلی استفاده می شود
برای رشته های برنامه

آرایه ها
آرایه ها با یک عبارت بین براکت های مربع ([ و ]) اگر
بیان یک لیست عبارت است (صادرات, صادرات ...) سپس زیرنویس آرایه یک رشته است
متشکل از الحاق مقدار (رشته) هر عبارت، که با علامت جدا شده است
ارزش SUBSEP متغیر. از این امکانات برای شبیه سازی چند بعدی استفاده می شود
آرایه ها مثلا:

i = "آ"؛ j = "B"؛ k = "C"
x[i، j, k] = "سلام، دنیا\n"

رشته را اختصاص می دهد "سلام، دنیا\n" به عنصر آرایه x که توسط
رشته "A\034B\034C". همه آرایه ها در AWK انجمنی هستند، یعنی با مقادیر رشته ای نمایه می شوند.

اپراتور ویژه in ممکن است برای آزمایش اینکه آیا یک آرایه دارای شاخصی متشکل از a است استفاده شود
ارزش خاص:

if (val in آرایه)
چاپ آرایه[val]

اگر آرایه چندین زیرنویس دارد، استفاده کنید (من، j) in صف.

La in ساختار همچنین ممکن است در a استفاده شود برای حلقه برای تکرار روی تمام عناصر an
آرایه. با این حال (من، j) in صف ساخت فقط در تست ها کار می کند، نه در برای حلقه ها

ممکن است یک عنصر با استفاده از آرایه حذف شود حذف کردن بیانیه. در حذف کردن بیانیه
همچنین ممکن است برای حذف کل محتویات یک آرایه، فقط با مشخص کردن آرایه استفاده شود
نام بدون زیرنویس

گاو آرایه های چند بعدی واقعی را پشتیبانی می کند. نیازی به وجود چنین آرایه هایی نیست
"مستطیل" مانند C یا C++. مثلا:

یک[1] = 5
a[2][1] = 6
a[2][2] = 7

توجه داشته باشید: شاید لازم باشد بگویید گاو که یک عنصر آرایه واقعاً یک زیرآرایه برای استفاده است
آن کجا گاو انتظار آرایه ای را دارد (مانند آرگومان دوم to شکاف()). شما می توانید انجام دهید
این کار با ایجاد یک عنصر در زیرآرایه و سپس حذف آن توسط حذف کردن
بیانیه.

متغیر تایپ و تبدیل
متغیرها و فیلدها ممکن است اعداد (میز شناور) یا رشته ها یا هر دو باشند. چگونه ارزش
تفسیر یک متغیر بستگی به زمینه آن دارد. اگر در یک عبارت عددی استفاده شود،
به عنوان یک عدد در نظر گرفته می شود. اگر به عنوان رشته استفاده شود به عنوان یک رشته در نظر گرفته می شود.

برای اینکه یک متغیر را مجبور کنید به عنوان یک عدد در نظر گرفته شود، 0 را به آن اضافه کنید. به زور با آن به عنوان یک رفتار شود
رشته، آن را با رشته تهی الحاق کنید.

متغیرهای بدون مقدار اولیه دارای مقدار عددی 0 و مقدار رشته "" هستند (تهی، یا
خالی، رشته).

هنگامی که یک رشته باید به عدد تبدیل شود، تبدیل با استفاده از آن انجام می شود
strtod(3). یک عدد با استفاده از مقدار به یک رشته تبدیل می شود CONVFMT به عنوان یک قالب
رشته برای دوی سرعت(3)، با مقدار عددی متغیر به عنوان آرگومان. با این حال،
حتی اگر همه اعداد در AWK ممیز شناور هستند، مقادیر انتگرال هستند همیشه تبدیل به عنوان
اعداد صحیح بنابراین، داده شده است

CONVFMT = "%2.2f"
a = 12
b = a ""

متغیر b دارای مقدار رشته ای است "12" و نه "12.00".

توجه داشته باشید: هنگام کار در حالت POSIX (مانند با --posix گزینه)، مراقب آن منطقه باشید
تنظیمات ممکن است در نحوه برخورد با اعداد اعشاری اختلال ایجاد کند: جداکننده اعشاری
اعدادی که به آنها غذا می دهید گاو باید مطابق با آنچه که منطقه شما انتظار دارد، باشد
کاما (،) یا نقطه (.).

گاوک مقایسه ها را به صورت زیر انجام می دهد: اگر دو متغیر عددی باشند، با هم مقایسه می شوند
به صورت عددی اگر یک مقدار عددی باشد و دیگری دارای یک مقدار رشته ای باشد که عددی است
string، سپس مقایسه ها نیز به صورت عددی انجام می شود. در غیر این صورت، مقدار عددی است
به رشته تبدیل می شود و مقایسه رشته انجام می شود. دو رشته با هم مقایسه می شوند، از
البته به عنوان رشته

توجه داشته باشید که ثابت های رشته ای مانند "57"، هستند نه رشته های عددی، رشته ای هستند
ثابت ها ایده "رشته عددی" فقط برای فیلدها کاربرد دارد، دریافت خط ورودی ، نام فایل,
ARGV عناصر، محیط زیست عناصر و عناصر یک آرایه ایجاد شده توسط شکاف() or
patsplit() که رشته های عددی هستند. ایده اصلی این است که کاربر ورودیو تنها کاربر
ورودی، که عددی به نظر می رسد، باید به این صورت رفتار شود.

اکتبر و هگزادسیمال ثابت
می‌توانید از ثابت‌های هشت‌گانه و هگزادسیمال سبک C در کد منبع برنامه AWK خود استفاده کنید. برای
به عنوان مثال، مقدار اکتال 011 برابر با اعشار است 9و مقدار هگزادسیمال 0x11 is
برابر با اعشار 17.

رشته ثابت
ثابت های رشته ای در AWK دنباله ای از کاراکترهایی هستند که بین دو گیومه محصور شده اند (مانند
"ارزش"). در رشته ها، مسلم است فرار توالی به رسمیت شناخته می شوند، مانند C. اینها عبارتند از:

\\ یک خط معکوس به معنای واقعی کلمه.

\a شخصیت "هشدار"؛ معمولاً کاراکتر ASCII BEL.

\b بک اسپیس.

\f فید فرم.

\n خط جدید.

\r برگشت محموله.

\t زبانه افقی.

\v زبانه عمودی.

\xهگزا رقم
کاراکتری که با رشته ارقام هگزا دسیمال به دنبال نشان داده می شود \xاست. مانند
در ISO C، تمام ارقام هگزادسیمال زیر بخشی از فرار در نظر گرفته می شوند
توالی. (این ویژگی باید چیزی در مورد طراحی زبان به ما بگوید
کمیته.) به عنوان مثال، "\x1B" کاراکتر ASCII ESC (فرار) است.

\DDD نویسه ای که با توالی 1، 2 یا 3 رقمی ارقام هشتگانه نشان داده می شود. به عنوان مثال،
"\033" کاراکتر ASCII ESC (فرار) است.

\c شخصیت تحت اللفظی c.

دنباله های فرار همچنین ممکن است در داخل عبارات منظم ثابت استفاده شوند (مثلاً
/[ \t\f\n\r\v]/ با کاراکترهای فضای خالی مطابقت دارد).

در حالت سازگاری، کاراکترهایی که با هشت و هگزادسیمال نشان داده می شوند، فرار می کنند
هنگامی که در ثابت های بیان منظم استفاده می شود، توالی ها به معنای واقعی کلمه رفتار می شوند. بدین ترتیب، /a\52b/
برابر است با /a\*b/.

پدر و مادرها و اقدامات


AWK یک زبان خط گرا است. اول الگو می آید و بعد عمل. عمل
اظهارات در ضمیمه شده است { و }. یا ممکن است الگو گم شده باشد یا عمل ممکن است
از دست رفته باشد، اما، البته، نه هر دو. اگر الگو از دست رفته باشد، عمل اجرا می شود
برای هر رکورد ورودی یک اقدام گمشده معادل است

{ چاپ }

که کل رکورد را چاپ می کند.

نظرات با # کاراکتر و تا آخر خط ادامه دهید. خطوط خالی
ممکن است برای جدا کردن عبارات استفاده شود. به طور معمول، یک عبارت با یک خط جدید به پایان می رسد، با این حال،
این مورد برای خطوطی که به کاما ختم می شوند صدق نمی کند، {, ?, :, &&، یا ||. خطوطی که به do
or دیگر همچنین اظهارات آنها به طور خودکار در خط زیر ادامه یابد. که در
در موارد دیگر، یک خط را می توان با پایان دادن به "\" ادامه داد، در این صورت خط جدید است
نادیده گرفته شد

با جدا کردن آنها با یک ";"، می توان چندین عبارت را در یک خط قرار داد. این مربوط به
هر دو عبارات درون بخش عمل یک جفت الگو-عمل (مورد معمول)، و
به خود عبارات الگوی عمل.

الگوهای
الگوهای AWK ممکن است یکی از موارد زیر باشد:

شروع
END
BEGINFILE
ENDFILE
/منظم بیان/
رابطه ای بیان
الگو && الگو
الگو || الگو
الگو ? الگو : الگو
(الگو)
! الگو
pattern1, pattern2

شروع و END دو نوع خاص از الگوها هستند که در برابر ورودی آزمایش نمی شوند.
بخش های عمل از همه شروع الگوها طوری با هم ادغام می شوند که انگار همه گزاره ها بوده اند
در یک تک نوشته شده است شروع قانون. آنها قبل از خواندن هر یک از ورودی ها اجرا می شوند.
به طور مشابه، همه END قوانین ادغام می شوند و زمانی اجرا می شوند که تمام ورودی ها تمام شود (یا
وقتی که خروج بیانیه اجرا می شود). شروع و END الگوها را نمی توان با دیگر ترکیب کرد
الگوها در عبارات الگو شروع و END الگوها نمی توانند دارای بخش های عمل از دست رفته باشند.

BEGINFILE و ENDFILE الگوهای ویژه اضافی هستند که بدنه آنها قبلا اجرا شده است
خواندن اولین رکورد هر فایل ورودی خط فرمان و پس از خواندن آخرین رکورد
از هر فایل درون BEGINFILE قاعده، ارزش ERRNO رشته خالی if خواهد بود
فایل با موفقیت باز شد در غیر این صورت فایل و فایل مشکل دارد
کد باید استفاده شود فایل بعدی از آن بگذرد اگر این کار انجام نشد، گاو کشنده معمول خود را ایجاد می کند
خطا برای فایل هایی که باز نمی شوند.

برای /منظم بیان/ الگوها، دستور مرتبط برای هر ورودی اجرا می شود
رکوردی که با عبارت منظم مطابقت دارد. عبارات منظم همان عبارات موجود در هستند
egrep(1) و در زیر خلاصه شده است.

A رابطه ای بیان ممکن است از هر یک از عملگرهای تعریف شده در بخش زیر استفاده کند
اقدامات. اینها معمولاً آزمایش می کنند که آیا فیلدهای خاص با عبارات منظم خاصی مطابقت دارند یا خیر.

La &&, ||و ! عملگرها به ترتیب AND، منطقی OR و منطقی NOT هستند.
مانند C. آنها ارزیابی اتصال کوتاه را انجام می دهند، همچنین مانند C، و برای ترکیب بیشتر استفاده می شوند.
عبارات الگوی اولیه مانند بسیاری از زبان ها، ممکن است از پرانتز برای تغییر استفاده شود
ترتیب ارزیابی

La ?: عملگر مانند همان عملگر در C است. اگر الگوی اول درست باشد،
الگوی مورد استفاده برای آزمایش، الگوی دوم است، در غیر این صورت سوم است. فقط یکی از
الگوی دوم و سوم ارزیابی می شود.

La pattern1, pattern2 شکل یک عبارت a نامیده می شود محدوده الگو. با همه مطابقت دارد
رکوردهای ورودی که با رکوردی منطبق شروع می شود pattern1، و تا رکورد ادامه دارد
که مطابقت دارد pattern2، شامل. با هیچ نوع الگوی دیگری ترکیب نمی شود
اصطلاح.

منظم عبارات
عبارات منظم نوع توسعه یافته ای هستند که در آن یافت می شوند egrep. آنها از شخصیت ها تشکیل شده اند
به شرح زیر است:

c با غیر فراکاراکتر مطابقت دارد c.

\c با شخصیت تحت اللفظی مطابقت دارد c.

. با هر شخصیتی مطابقت دارد شامل خط جدید.

^ با ابتدای یک رشته مطابقت دارد.

$ با انتهای یک رشته مطابقت دارد.

[abc...] لیست کاراکترها: با هر یک از کاراکترها مطابقت دارد abc.... شما ممکن است شامل یک
محدوده کاراکترها با جدا کردن آنها با یک خط تیره.

[^abc...] فهرست کاراکترهای نفی شده: با هر کاراکتری به جز abc....

r1|r2 جایگزین: مطابقت دارد r1 or r2.

r1r2 الحاق: کبریت r1، و سپس r2.

r+ با یک یا چند مورد مطابقت دارد r's

r* با صفر یا بیشتر مطابقت دارد r's

r? با صفر یا یک مطابقت دارد r's

(r) گروه بندی: مسابقات r.

r{n}
r{n,}
r{n,m} یک یا دو عدد داخل پرانتز نشان دهنده an است فاصله بیان. اگر وجود دارد
یک عدد در پرانتز، عبارت منظم قبلی r تکرار می شود n
بار. اگر دو عدد وجود داشته باشد که با کاما از هم جدا شده اند، r تکرار می شود n به m
بار. اگر یک عدد به دنبال کاما وجود دارد، پس r حداقل تکرار می شود
n بار.

\y رشته خالی در ابتدا یا انتهای یک کلمه مطابقت دارد.

\B رشته خالی را در یک کلمه مطابقت می دهد.

\< با رشته خالی ابتدای کلمه مطابقت دارد.

\> با رشته خالی انتهای کلمه مطابقت دارد.

\s با هر کاراکتر فضای خالی مطابقت دارد.

\S با هر کاراکتر بدون فضای سفید مطابقت دارد.

\w با هر نویسه سازنده کلمه (حرف، رقم یا خط زیر) مطابقت دارد.

\W با هر کاراکتری که سازنده کلمه نیست مطابقت دارد.

\` با رشته خالی در ابتدای بافر (رشته) مطابقت دارد.

\' رشته خالی انتهای بافر را مطابقت می دهد.

دنباله های فرار که در ثابت های رشته ای معتبر هستند (نگاه کنید به رشته ثابت) همچنین هستند
معتبر در عبارات منظم

شخصیت کلاس ها ویژگی معرفی شده در استاندارد POSIX هستند. کلاس کاراکتر یک است
نماد ویژه برای توصیف لیستی از کاراکترهایی که دارای یک ویژگی خاص هستند، اما
که در آن شخصیت های واقعی می توانند از کشوری به کشور دیگر و/یا از کشور دیگر متفاوت باشند
مجموعه کاراکتر به مجموعه کاراکتر. برای مثال، مفهوم الفبایی چیست
شخصیت در ایالات متحده آمریکا و فرانسه متفاوت است.

کلاس کاراکتر فقط در یک عبارت منظم معتبر است داخل براکت های یک شخصیت
فهرست کلاس های شخصیت شامل [:، یک کلمه کلیدی که کلاس را نشان می دهد و :].
کلاس های کاراکتر تعریف شده توسط استاندارد POSIX عبارتند از:

[:alnum:] کاراکترهای حروف عددی

[:alpha:] حروف الفبا

[:جای خالی:] کاراکترهای Space یا Tab.

[:cntrl:] شخصیت ها را کنترل کنید

[: رقم:] کاراکترهای عددی

[:گراف:] کاراکترهایی که هم قابل چاپ و هم قابل مشاهده هستند. (یک فضا قابل چاپ است، اما نه
قابل مشاهده است، در حالی که یک a هر دو.)

[:lower:] حروف کوچک حروف الفبا.

[:چاپ:] کاراکترهای قابل چاپ (کاراکترهایی که کاراکترهای کنترلی نیستند.)

[:punct:] کاراکترهای نقطه گذاری (شخصیت هایی که حرف، اعداد، کنترل نیستند
کاراکترها یا کاراکترهای فضایی).

[:فضا:] کاراکترهای Space (مانند space، tab، و formfeed، به نام چند).

[:بالا:] حروف الفبای بزرگ.

[:xdigit:] کاراکترهایی که ارقام هگزادسیمال هستند.

به عنوان مثال، قبل از استاندارد POSIX، برای مطابقت با کاراکترهای الفبایی، باید داشته باشید
مجبور شد بنویسد /[A-Za-z0-9]/. اگر مجموعه کاراکترهای شما دارای حروف الفبای دیگری بود،
این با آنها مطابقت ندارد، و اگر مجموعه شخصیت‌های شما متفاوت از ASCII گردآوری می‌شود، این
حتی ممکن است با نویسه های الفبایی ASCII مطابقت نداشته باشد. با کلاس های کاراکتر POSIX،
می توانید بنویسید /[[:alnum:]]/، و این کاراکترهای الفبایی و عددی را مطابقت می دهد
مجموعه شخصیت شما، مهم نیست که چیست.

دو دنباله ویژه اضافی می توانند در لیست شخصیت ها ظاهر شوند. این موارد برای غیر ASCII اعمال می شود
مجموعه کاراکترهایی که می توانند دارای نمادهای منفرد باشند (به نام تطبیق عناصر) که هستند
با بیش از یک کاراکتر و همچنین چندین کاراکتر نشان داده شده است
معادل برای تطبیق، یا مرتب سازی، اهداف. (مثلاً، در زبان فرانسوی، «e» ساده و a
"`" با لهجه قبر معادل هستند.)

ترکیب نمادها
نماد تلفیقی یک عنصر ترکیبی چند کاراکتری است که در آن محصور شده است [. و .].
برای مثال، اگر ch پس یک عنصر ترکیبی است [[.ch.]] یک عبارت منظم است
که با این عنصر ترکیبی مطابقت دارد، در حالی که [ch] یک عبارت منظم است که
مطابقت دارد c or h.

کلاس های معادل سازی
یک کلاس معادل یک نام محلی خاص برای لیستی از کاراکترها است
معادل. نام در ضمیمه شده است [= و =]. به عنوان مثال، نام e ممکن است
برای نشان دادن همه «e»، «´» و «`» استفاده می‌شود. در این مورد، [[=e=]] منظم است
عبارتی که با هر یک از آنها مطابقت دارد e, e'، یا e`.

این ویژگی ها در مناطق غیر انگلیسی زبان بسیار ارزشمند هستند. عملکرد کتابخانه
که گاو از تطبیق عبارات منظم استفاده می کند در حال حاضر فقط کاراکتر POSIX را تشخیص می دهد
کلاس ها؛ آنها نمادهای تلفیقی یا کلاس های هم ارزی را نمی شناسند.

La \y, \B, \<, \>, \s, \S, \w, \W, \`و \' اپراتورها خاص هستند گاو؛ آن ها هستند
برنامه های افزودنی بر اساس امکانات موجود در کتابخانه های عبارات منظم گنو.

گزینه های مختلف خط فرمان چگونگی را کنترل می کنند گاو شخصیت ها را به طور منظم تفسیر می کند
اصطلاحات.

هیچ گزینه ای وجود ندارد
در حالت پیش فرض، گاو تمام امکانات عبارات منظم POSIX را فراهم می کند
و عملگرهای عبارت منظم گنو که در بالا توضیح داده شد.

--posix
فقط عبارات منظم POSIX پشتیبانی می شوند، عملگرهای گنو خاص نیستند.
(به عنوان مثال، \w مطابق تحت اللفظی w).

--سنتی
یونیکس سنتی بیدار عبارات منظم مطابقت دارند. عملگرهای گنو نیستند
خاص، و عبارات فاصله در دسترس نیست. شخصیت‌هایی که با اکتال توصیف می‌شوند
و دنباله‌های فرار هگزا دسیمال به معنای واقعی کلمه رفتار می‌شوند، حتی اگر نشان دهند
متاکاراکترهای بیان منظم

-- بازه زمانی
اجازه عبارات فاصله در عبارات منظم، حتی اگر --سنتی بوده است
ارائه شده

اعمال
بیانیه های اقدام در پرانتز قرار می گیرند، { و }. بیانیه های عمل شامل موارد معمول است
عبارات انتساب، شرطی و حلقه ای که در بیشتر زبان ها یافت می شود. اپراتورها،
عبارات کنترلی و عبارات ورودی/خروجی موجود بر اساس آنهایی که در C هستند الگوبرداری می شوند.

اپراتورها
عملگرها در AWK به ترتیب تقدم کاهشی عبارتند از:

(...) گروه بندی

$ مرجع میدانی

++ -- افزایش و کاهش، هم پیشوند و هم پسوند.

^ توان (** همچنین ممکن است استفاده شود، و **= برای اپراتور تخصیص).

+ - ! یک واحد به علاوه، یک واحد منهای، و نفی منطقی.

* / % ضرب، تقسیم و مدول.

+ - جمع و تفریق.

فضا الحاق رشته.

| |& لوله ورودی/خروجی برای دریافت خط, چاپو printf.

< > <= >= != ==
عملگرهای رابطه ای معمولی

~ !~ مطابقت عبارت منظم، مطابقت نفی شده. توجه داشته باشید: از معمولی ثابت استفاده نکنید
اصطلاح (/foo/) در سمت چپ a ~ or !~. فقط از یکی روی آن استفاده کنید
سمت راست. بیان /foo/ ~ درصد این سطح همان معنی را دارد ((0 دلار ~
/فو/) ~ درصد این سطح). این معمولاً است نه چه میخواهی

in عضویت در آرایه

&& منطقی و.

|| منطقی OR.

?: عبارت شرطی C. این فرم دارد EXPR1 ? EXPR2 : EXPR3. اگر
EXPR1 درست است، ارزش عبارت است EXPR2وگرنه EXPR3.
فقط یکی از EXPR2 و EXPR3 ارزیابی می شود.

= += -= *= /= %= ^=
وظیفه. هر دو تکلیف مطلق (VAR = ارزش) و اپراتور-تخصیص
(فرم های دیگر) پشتیبانی می شوند.

کنترل بیانیه
دستورات کنترلی به شرح زیر است:

if (شرط) بیانیه [ دیگر بیانیه ]
در حین (شرط) بیانیه
do بیانیه در حین (شرط)
برای (EXPR1; EXPR2; EXPR3) بیانیه
برای (VAR in صف) بیانیه
شکستن
ادامه دادن
حذف کردن صف[شاخص]
حذف کردن صف
خروج [ بیان ]
{ اظهارات }
گزینه (بیان) {
مورد ارزش|regex : بیانیه
...
[ پیش فرض: بیانیه ]
}

I / O بیانیه
عبارات ورودی/خروجی به شرح زیر است:

بستن(پرونده [, چگونه]) بستن فایل، لوله یا پردازش مشترک. اختیاری چگونه فقط باید باشد
هنگام بستن یک انتهای لوله دو طرفه به یک فرآیند مشترک استفاده می شود. آی تی
باید یک مقدار رشته باشد "به" or "از جانب".

دریافت خط تنظیم $0 از رکورد ورودی بعدی؛ تنظیم NF, NR, FNR, RT.

دریافت خط <پرونده تنظیم $0 از رکورد بعدی پرونده; تنظیم NF, RT.

دریافت خط VAR تنظیم VAR از رکورد ورودی بعدی؛ تنظیم NR, FNR, RT.

دریافت خط VAR <پرونده تنظیم VAR از رکورد بعدی پرونده, RT.

فرمان | دریافت خط [VAR]
دویدن فرمان لوله گذاری خروجی یا به داخل $0 or VAR، همانطور که در بالا ، و
RT.

فرمان |& دریافت خط [VAR]
دویدن فرمان به عنوان یک فرآیند مشترک لوله گذاری خروجی یا به داخل $0 or VAR,
همانطور که در بالا، و RT. فرآیندهای مشترک الف هستند گاو افزونه. (فرمان می توان
همچنین یک سوکت باشد. زیربخش را ببینید ویژه پرونده نام، در زیر.)

بعد پردازش رکورد ورودی فعلی را متوقف کنید. رکورد ورودی بعدی است
خواندن و پردازش با اولین الگو در AWK شروع می شود
برنامه پس از رسیدن به انتهای داده های ورودی، گاو هر کدام را اجرا می کند
END قانون (ها).

فایل بعدی پردازش فایل ورودی فعلی را متوقف کنید. رکورد ورودی بعدی خوانده شد
از فایل ورودی بعدی می آید. نام فایل و ARGIND به روز می شوند،
FNR به 1 بازنشانی می شود و پردازش با الگوی اول دوباره شروع می شود
در برنامه AWK پس از رسیدن به انتهای داده های ورودی، گاو
هر کدام را اجرا می کند END قانون (ها).

چاپ رکورد جاری را چاپ کنید. رکورد خروجی با علامت خاتمه می یابد
ارزش ORS.

چاپ expr-list چاپ عبارات هر عبارت با مقدار از جدا می شود
FSO. رکورد خروجی با مقدار خاتمه می یابد ORS.

چاپ expr-list >پرونده چاپ عبارات در پرونده. هر عبارت با علامت جدا می شود
ارزش FSO. رکورد خروجی با مقدار خاتمه می یابد
ORS.

printf fmt، expr-list فرمت و چاپ کنید. دیدن La printf بیانیه، در زیر

printf fmt، expr-list >پرونده
فرمت و چاپ کنید پرونده.

سیستم(خط cmd) فرمان را اجرا کنید خط cmdو وضعیت خروج را برگردانید. (این ممکن است
در سیستم های غیر POSIX در دسترس نیست.)

فلاش ([پرونده]) بافرهای مرتبط با فایل یا لوله باز خروجی را بشویید پرونده.
If پرونده وجود ندارد یا اگر رشته تهی است، همه را باز کنید
فایل های خروجی و لوله ها

تغییر مسیرهای خروجی اضافی برای مجاز است چاپ و printf.

چاپ ... >> پرونده
خروجی را به پرونده.

چاپ ... | فرمان
روی لوله می نویسد.

چاپ ... |& فرمان
داده ها را به یک پردازش مشترک یا سوکت ارسال می کند. (به بخش فرعی نیز مراجعه کنید ویژه پرونده نام,
زیر.)

La دریافت خط دستور 1 در موفقیت، 0 در پایان فایل و -1 در خطا برمی گرداند. بر روی یک
خطا ، ERRNO روی رشته ای تنظیم شده است که مشکل را توصیف می کند.

توجه داشته باشید: باز نشدن سوکت دو طرفه منجر به برگشت خطای غیر کشنده می شود
تابع فراخوانی در صورت استفاده از لوله، فرآیند مشترک یا سوکت به دریافت خط، و یا از چاپ or
printf در یک حلقه، شما باید استفاده کنید بستن() برای ایجاد نمونه های جدید از دستور یا
سوکت AWK به‌طور خودکار لوله‌ها، سوکت‌ها یا فرآیندهای مشترک را هنگام بازگشت نمی‌بندد
EOF.

La printf بیانیه
نسخه های AWK از printf بیانیه و sprintf() تابع (پایین را ببینید) قبول کنید
فرمت های مشخصات تبدیل زیر:

%c یک شخصیت واحد اگر از استدلال برای %c عددی است، به عنوان یک رفتار می شود
کاراکتر و چاپ شده است. در غیر این صورت، آرگومان یک رشته در نظر گرفته می شود و the
تنها کاراکتر اول آن رشته چاپ می شود.

%d, %i یک عدد اعشاری (قسمت صحیح).

%e, %E یک عدد ممیز شناور از فرم [-]d.ddddde[+-]dd. %E فرمت استفاده می کند E
بجای e.

%f, %F یک عدد ممیز شناور از فرم [-]DDD.ddddd. اگر کتابخانه سیستم پشتیبانی می کند
آن، %F نیز موجود است. این شبیه است %f، اما برای موارد خاص از حروف بزرگ استفاده می کند
مقادیر "عدد نیست" و "بی نهایت". اگر %F در دسترس نیست، گاو استفاده %f.

%g, %G استفاده کنید %e or %f تبدیل، هر کدام کوتاهتر باشد، با صفرهای غیر قابل توجه
سرکوب. در %G فرمت استفاده می کند %E بجای %e.

%o یک عدد هشتی بدون علامت (همچنین یک عدد صحیح).

%u یک عدد اعشاری بدون علامت (باز هم یک عدد صحیح).

%s یک رشته کاراکتر

%x, %X یک عدد هگزادسیمال بدون علامت (یک عدد صحیح). در %X فرمت استفاده می کند ABCDEF بجای
abcdef.

%% تک تک % شخصیت؛ هیچ آرگومانی تبدیل نمی شود

اختیاری، پارامترهای اضافی ممکن است بین % و نامه کنترل:

تعداد دفعات مشاهده$ استفاده از تعداد دفعات مشاهدهآرگومان در این مرحله در قالب بندی. به این می گویند a
موقعیتی مشخصات و در درجه اول برای استفاده در نسخه های ترجمه شده در نظر گرفته شده است
رشته های قالب بندی، نه در متن اصلی یک برنامه AWK. این هست یک گاو
افزونه.

- عبارت باید در حوزه خود به صورت چپ توجیه شود.

فضا برای تبدیل های عددی، مقادیر مثبت را با فاصله و مقادیر منفی را پیشوند قرار دهید
با علامت منهای.

+ علامت مثبت که قبل از اصلاح کننده عرض استفاده می شود (به زیر مراجعه کنید)، می گوید همیشه a را عرضه کنید
برای تبدیل های عددی علامت بزنید، حتی اگر داده های قالب بندی شده مثبت باشند. در +
تغییر دهنده فضا را لغو می کند.

# از یک "فرم جایگزین" برای حروف کنترلی خاص استفاده کنید. برای %o، عرضه پیشرو
صفر برای %xو %X، عرضه پیشرو 0x or 0X برای یک نتیجه غیر صفر برای %e, %E,
%f و %F، نتیجه همیشه حاوی یک نقطه اعشار است. برای %gو %G، دنباله دار
صفرها از نتیجه حذف نمی شوند.

0 یک پیشرو 0 (صفر) به عنوان یک پرچم عمل می کند، که نشان می دهد خروجی باید با آن پر شود
صفر به جای فاصله این فقط برای فرمت های خروجی عددی اعمال می شود. این
پرچم فقط زمانی تأثیر می گذارد که عرض فیلد از مقداری که باید چاپ شود بیشتر باشد.

' یک کاراکتر نقل قول تک دستور می دهد گاو برای درج جداکننده هزاران منطقه
کاراکتر به اعداد اعشاری، و همچنین استفاده از نقطه اعشار محلی
کاراکتر با فرمت های ممیز شناور. این نیاز به پشتیبانی محلی صحیح در
کتابخانه C و در تعریف محلی فعلی.

عرض فیلد باید به این عرض اضافه شود. این میدان معمولاً پر شده است
فضاها با 0 پرچم، آن را با صفر پر شده است.

.پیش عددی که دقت مورد استفاده در چاپ را مشخص می کند. برای %e, %E, %f و
%F، فرمت ها، این تعداد ارقامی را که می خواهید در سمت راست چاپ شوند، مشخص می کند
نقطه اعشار برای %gو %G فرمت ها، حداکثر تعداد را مشخص می کند
ارقام معنادار. برای %d, %i, %o, %u, %xو %X فرمت ها را مشخص می کند
حداقل تعداد ارقام برای چاپ برای %s، حداکثر تعداد را مشخص می کند
کاراکترهای رشته ای که باید چاپ شوند.

دینامیک عرض و پیش قابلیت های ISO C printf() روال ها پشتیبانی می شوند. آ *
به جای یکی از عرض or پیش مشخصات باعث می شود که مقادیر آنها از آن گرفته شود
لیست آرگومان به printf or sprintf(). برای استفاده از یک مشخص کننده موقعیتی با یک دینامیک
عرض یا دقت، عرضه تعداد دفعات مشاهده$ بعد از * در رشته فرمت مثلا،
"%3$*2$.*1$s".

ویژه پرونده نام
هنگام انجام تغییر مسیر I/O از هر دو چاپ or printf در یک فایل یا از طریق دریافت خط از
فایل، گاو نام فایل های خاص خاصی را به صورت داخلی تشخیص می دهد. این نام فایل ها اجازه دسترسی را می دهد
برای باز کردن توصیفگرهای فایل به ارث رسیده از گاوفرآیند والد (معمولاً پوسته). اینها
همچنین ممکن است از نام فایل ها در خط فرمان برای نامگذاری فایل های داده استفاده شود. نام فایل ها عبارتند از:

- ورودی استاندارد

/dev/stdin ورودی استاندارد

/dev/stdout خروجی استاندارد

/dev/stderr خروجی خطای استاندارد

/dev/fd/n فایل مرتبط با توصیفگر فایل باز n.

اینها به ویژه برای پیام های خطا مفید هستند. مثلا:

چاپ "شما وزید آی تی!" > "/dev/stderr"

در حالی که در غیر این صورت باید استفاده کنید

چاپ "شما وزید آی تی!" | "گربه 1>&2"

نام فایل های ویژه زیر ممکن است با استفاده از |& اپراتور پردازش مشترک برای ایجاد
اتصالات شبکه TCP/IP:

/inet/tcp/lport/روست/گزارش
/inet4/tcp/lport/روست/گزارش
/inet6/tcp/lport/روست/گزارش
فایل هایی برای اتصال TCP/IP در پورت محلی lport به میزبان راه دور روست از راه دور
بندر گزارش. از پورت استفاده کنید 0 تا سیستم یک پورت را انتخاب کند. استفاده کنید /inet4 به زور
یک اتصال IPv4 و /inet6 برای اجبار اتصال IPv6. جلگه /inet با استفاده از
پیش فرض سیستم (به احتمال زیاد IPv4).

/inet/udp/lport/روست/گزارش
/inet4/udp/lport/روست/گزارش
/inet6/udp/lport/روست/گزارش
مشابه، اما از UDP/IP به جای TCP/IP استفاده کنید.

عددی توابع
AWK دارای توابع حسابی داخلی زیر است:

atan2(y, x) آرکتانژانت را برگردانید y / x به رادیان

cos(صادرات) کسینوس را برگردانید صادرات، که بر حسب رادیان است.

انقضا(صادرات) تابع نمایی.

int (صادرات) کوتاه کردن به عدد صحیح

ورود به سیستم (صادرات) تابع لگاریتم طبیعی

رند () یک عدد تصادفی را برگردانید N، بین 0 و 1، به طوری که 0 ≤ N <1

گناه (صادرات) سینوس را برگردانید صادرات، که بر حسب رادیان است.

sqrt(صادرات) جذر را برگردانید صادرات.

ساند([صادرات]) استفاده کنید صادرات به عنوان دانه جدید برای مولد اعداد تصادفی. اگر نه صادرات is
ارائه شده، از زمان روز استفاده کنید. دانه قبلی را به صورت تصادفی برگردانید
مولد اعداد

رشته توابع
گاوک دارای توابع رشته ای داخلی زیر است:

انواع (s [, d [, چگونه] ]) تعداد عناصر موجود در آرایه منبع را برگردانید s. مرتب کنید
مطالب از s با استفاده از گاوقوانین عادی برای مقایسه مقادیر، و
شاخص های مقادیر مرتب شده را جایگزین کنید s با ترتیب
اعداد صحیح که با 1 شروع می شوند. اگر آرایه مقصد اختیاری باشد d is
مشخص شده، اول تکراری s به d، و سپس مرتب سازی کنید d، ترک کردن
شاخص های آرایه منبع s بدون تغییر رشته اختیاری چگونه
جهت و حالت مقایسه را کنترل می کند. مقادیر معتبر برای
چگونه آیا هر یک از رشته ها برای آن معتبر هستند PROCINFO["sorted_in"]. آن
همچنین می تواند نام یک تابع مقایسه تعریف شده توسط کاربر باشد
توصیف شده در PROCINFO["sorted_in"].

آسورتی(s [, d [, چگونه] ])
تعداد عناصر موجود در آرایه منبع را برگردانید s. رفتار
همان است که از است asort()، به جز اینکه آرایه شاخص هستند
برای مرتب سازی استفاده می شود، نه مقادیر آرایه. پس از اتمام، آرایه است
به صورت عددی ایندکس می شود و مقادیر مقادیر اصلی هستند
شاخص ها مقادیر اصلی از بین رفته است. بنابراین یک ثانیه فراهم کنید
اگر می خواهید اصل را حفظ کنید، آرایه کنید. هدف از
رشته اختیاری چگونه همان است که در asort() در بالا.

جنساب(r, s, h [, t]) رشته هدف را جستجو کنید t برای مطابقت با عبارت منظم
r. اگر h رشته ای است که با آن شروع می شود g or G، سپس همه را جایگزین کنید
مسابقات از r با s. در غیر این صورت، h عددی است که نشان می دهد
مطابقت از r جایگزین کردن اگر t عرضه نمی شود، استفاده کنید $0 به جای آن.
در متن جایگزین s، تسلسل و توالی \n، که در آن n یک رقم است
از 1 تا 9، ممکن است فقط برای نشان دادن متنی که مطابقت دارد استفاده شود
la n'امین عبارت فرعی پرانتز شده. تسلسل و توالی \0 نشان دهنده
کل متن منطبق، همانطور که شخصیت &. بر خلاف زیر()
و gsub ()، رشته اصلاح شده به عنوان نتیجه برگردانده می شود
تابع، و رشته هدف اصلی است نه تغییر کرد.

gsub(r, s [, t]) برای هر زیر رشته که با عبارت منظم مطابقت دارد r در رشته
t، رشته را جایگزین کنید sو شماره را برگردانید
تعویض ها اگر t عرضه نمی شود، استفاده کنید $0، در & در
متن جایگزین با متنی که در واقع بود جایگزین می شود
تطبیق. استفاده کنید \& برای دریافت واقعی &. (این باید به صورت تایپ شود
"\\&"؛ دیدن GAWK: موثر AWK برنامه نويسي برای بحث کامل تر
از قوانین برای &'s و بک اسلش در متن جایگزین
زیر(), gsub ()و gensub().)

فهرست مطالب(s, t) شاخص رشته را برگردانید t در رشته s، یا 0 اگر t نیست
حاضر. (این نشان می دهد که شاخص های کاراکتر از یک شروع می شود.) آن
یک خطای مرگبار برای استفاده از ثابت regexp است t.

طول ([s]) طول رشته را برگردانید s، یا طول $0 if s نیست
عرضه شده است. به عنوان یک پسوند غیر استاندارد، با آرگومان آرایه،
طول () تعداد عناصر موجود در آرایه را برمی گرداند.

همخوانی داشتن(s, r [, a]) موقعیت را به داخل برگردانید s جایی که عبارت منظم r رخ می دهد ، یا
0 اگر r وجود ندارد و مقادیر آن را تنظیم کنید RSTART و طول.
توجه داشته باشید که ترتیب آرگومان مانند the است ~ اپراتور:
خ ~ re. اگر آرایه a ارائه شده است ، a پاک می شود و سپس عناصر
1 از طریق n پر شده اند از بخش های s که با
عبارت فرعی پرانتز مربوطه در r. عنصر 0
of a شامل بخشی از s مطابق با کل معمولی
بیان r. اشتراک ها a[n, "شروع"]و a[n, "طول"]
شاخص شروع را به ترتیب در رشته و طول ارائه کنید،
از هر زیر رشته منطبق

patsplit(s, a [, r [, seps] ])
رشته را تقسیم کنید s به آرایه a و آرایه جداکننده ها seps
در بیان منظم rو تعداد فیلدها را برگردانید.
مقادیر عنصر بخش هایی از s که مطابقت داشت r. ارزش
سپتامبر[i] جداکننده ای است که در مقابل ظاهر شده است a[i+1]. اگر r
حذف شده است، FPAT به جای آن استفاده می شود. آرایه ها a و seps هستند
ابتدا پاک شد تقسیم کردن رفتاری مشابه با تقسیم میدان دارد
با FPAT، در بالا توضیح داده شد.

شکاف(s, a [, r [, seps] ])
رشته را تقسیم کنید s به آرایه a و آرایه جداکننده ها seps
در بیان منظم rو تعداد فیلدها را برگردانید. اگر
r حذف شده است، FS به جای آن استفاده می شود. آرایه ها a و seps هستند
ابتدا پاک شد سپتامبر[i] جداکننده میدان مطابق با r
میان a[i] و a[i+1]. اگر r یک فضای واحد است، سپس منجر می شود
فضای خالی در s وارد عنصر آرایه اضافی می شود سپتامبر[0] و
فضای خالی انتهایی به عنصر آرایه اضافی می رود سپتامبر[n],
جایی که n مقدار بازگشتی است شکاف(s, a, r, seps). تقسیم شدن
رفتار یکسانی با تقسیم میدان، که در بالا توضیح داده شد، دارد.

از sprintf (fmt, expr-list) چاپ expr-list بر طبق fmt، و رشته به دست آمده را برگردانید.

strtonum(خ) معاینه کردن خو مقدار عددی آن را برگردانید. اگر خ با یک شروع می شود
برجسته 0، آن را به عنوان یک عدد هشتی در نظر بگیرید. اگر خ با یک شروع می شود
برجسته 0x or 0X، آن را به عنوان یک عدد هگزادسیمال در نظر بگیرید. در غیر این صورت،
فرض کنید یک عدد اعشاری است.

زیر(r, s [, t]) درست مثل gsub ()، اما فقط اولین زیررشته منطبق را جایگزین کنید.

substr(s, i [, n]) حداکثر برگردانید n-رشته فرعی کاراکتر s شروع از i. اگر n
حذف شده است، از بقیه استفاده کنید s.

برای کاهش(خ) یک کپی از رشته را برگردانید خ، با تمام حروف بزرگ
in خ به حروف کوچک مربوطه ترجمه شده است.
کاراکترهای غیر الفبایی بدون تغییر باقی می مانند.

تاپر(خ) یک کپی از رشته را برگردانید خ، با تمام حروف کوچک
in خ به حروف بزرگ مربوطه ترجمه شده است.
کاراکترهای غیر الفبایی بدون تغییر باقی می مانند.

گاوک چند بایتی آگاه است. این به این معنی است که فهرست مطالب(), طول (), substr() و همخوانی داشتن() همه کار
از نظر کاراکتر، نه بایت.

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

mktime(تاریخ مشخص)
نوبت تاریخ مشخص به یک مهر زمانی به همان شکلی که توسط بازگردانده شده است systime()و
نتیجه را برگردانید در تاریخ مشخص رشته ای از فرم است YYYY MM DD HH MM SS[
DST]. محتویات رشته شش یا هفت عدد است
به ترتیب سال کامل شامل قرن، ماه از 1 تا 12، روز
ماه از 1 تا 31، ساعت روز از 0 تا 23، دقیقه از 0 تا
59، دوم از 0 تا 60، و یک پرچم اختیاری در تابستان. ارزش ها
لازم نیست این اعداد در محدوده های مشخص شده باشند. مثلا یک ساعت
از -1 یعنی 1 ساعت قبل از نیمه شب. مبدا-صفر تقویم میلادی است
فرض شده، با سال 0 قبل از سال 1 و سال -1 قبل از سال 0. زمان
فرض می شود در منطقه زمانی محلی است. اگر پرچم تابستان مثبت باشد،
زمان به عنوان ساعت تابستانی در نظر گرفته می شود. اگر صفر باشد، زمان در نظر گرفته می شود
زمان استاندارد باشد. و اگر منفی (پیش فرض)، mktime() تلاش برای تعیین
آیا زمان صرفه جویی در روز برای زمان مشخص شده اعمال می شود. اگر تاریخ مشخص
حاوی عناصر کافی نیست یا اگر زمان حاصل خارج از محدوده باشد،
mktime() -1 برمی گردد.

strftime([قالب [, برچسب زمان[, utc-flag]]])
قالب برچسب زمان با توجه به مشخصات در قالب. اگر utc-flag is
موجود و غیر صفر یا غیر تهی است، نتیجه در UTC است، در غیر این صورت نتیجه
به وقت محلی است در برچسب زمان باید به همان شکلی باشد که توسط بازگردانده شده است
systime(). اگر برچسب زمان وجود ندارد، از زمان فعلی روز استفاده می شود. اگر قالب
وجود ندارد، یک فرمت پیش فرض معادل خروجی تاریخ(1) استفاده می شود. در
قالب پیش فرض در دسترس است PROCINFO["strftime"]. مشخصات را ببینید
la strftime() عملکرد در ISO C برای تبدیل فرمت هایی که تضمین شده است
در دسترس بودن

systime() زمان فعلی روز را به عنوان تعداد ثانیه‌های پس از دوره برگردانید
(1970-01-01 00:00:00 UTC در سیستم های POSIX).

بیت دستکاری توابع
گاوک توابع دستکاری بیت زیر را فراهم می کند. آنها با تبدیل دوگانه کار می کنند
مقادیر ممیز شناور دقیق به uintmax_t اعداد صحیح، انجام عملیات، و سپس
تبدیل نتیجه به ممیز شناور توابع عبارتند از:

و(v1, v2 [، ...]) بیتی AND از مقادیر ارائه شده در لیست آرگومان را برگردانید.
حداقل باید دو تا باشد.

compl(وال) مکمل بیتی از را برگردانید وال.

lshift(وال, تعداد دفعات مشاهده) ارزش را برگردانید وال، به چپ منتقل شد تعداد دفعات مشاهده بیت

یا(v1, v2 [، ...]) OR بیتی مقادیر ارائه شده در لیست آرگومان را برگردانید.
حداقل باید دو تا باشد.

rshift(وال, تعداد دفعات مشاهده) ارزش را برگردانید وال، به سمت راست منتقل شد تعداد دفعات مشاهده بیت

xor(v1, v2 [، ...]) XOR بیتی مقادیر ارائه شده در لیست آرگومان را برگردانید.
حداقل باید دو تا باشد.

نوع عملکرد
تابع زیر برای استفاده با آرایه های چند بعدی است.

آرایه (x)
اگر درست است را برگردانید x یک آرایه است، در غیر این صورت نادرست است.

بین المللی کردن توابع
توابع زیر ممکن است از داخل برنامه AWK شما برای ترجمه رشته ها استفاده شوند
در زمان اجرا برای جزئیات کامل، نگاه کنید GAWK: موثر AWK برنامه نويسي.

bindtextdomain(فهرست راهنما [, دامنه])
دایرکتوری که در آن قرار دارد را مشخص کنید گاو به دنبال .gmo فایل ها، در صورتی که نخواهند یا
را نمی توان در مکان های "استاندارد" قرار داد (به عنوان مثال، در طول آزمایش). برمی گردد
دایرکتوری که در آن دامنه "محدود است."
به طور پیش فرض دامنه مقدار است TEXTDOMAIN. اگر فهرست راهنما رشته تهی است
("")، سپس bindtextdomain() الزام آور فعلی را برای داده شده برمی گرداند دامنه.

dcgettext(رشته [, دامنه [, دسته]])
ترجمه را برگردانید رشته در حوزه متن دامنه برای دسته محلی
دسته. مقدار پیش فرض برای دامنه مقدار فعلی است TEXTDOMAIN.
مقدار پیش فرض برای دسته is "LC_MESSAGES".
اگر مقداری برای دسته، باید رشته ای برابر با یکی از شناخته شده ها باشد
دسته بندی های محلی شرح داده شده در GAWK: موثر AWK برنامه نويسي. شما نیز باید
ارائه یک دامنه متنی استفاده کنید TEXTDOMAIN اگر می خواهید از دامنه فعلی استفاده کنید.

dcngettext(string1, string2, عدد [, دامنه [, دسته]])
شکل جمع استفاده شده برای را برگردانید عدد از ترجمه از string1 و string2 in
دامنه متنی دامنه برای دسته محلی دسته. مقدار پیش فرض برای دامنه is
ارزش فعلی TEXTDOMAIN. مقدار پیش فرض برای دسته is "LC_MESSAGES".
اگر مقداری برای دسته، باید رشته ای برابر با یکی از شناخته شده ها باشد
دسته بندی های محلی شرح داده شده در GAWK: موثر AWK برنامه نويسي. شما نیز باید
ارائه یک دامنه متنی استفاده کنید TEXTDOMAIN اگر می خواهید از دامنه فعلی استفاده کنید.

تعریف شده توسط کاربر توابع


توابع در AWK به صورت زیر تعریف می شوند:

تابع نام(پارامتر فهرست) { اظهارات }

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

از آنجایی که توابع در اصل بخشی از زبان AWK نبودند، تدارک محلی بود
متغیرها نسبتاً دست و پا چلفتی هستند: آنها به عنوان پارامترهای اضافی در لیست پارامترها اعلام می شوند.
قرارداد این است که متغیرهای محلی را از پارامترهای واقعی با فضاهای اضافی در آن جدا کنیم
لیست پارامترها مثلا:

تابع f(p q, a, b) # a و b هستند محلی
{
...
}

/abc/ { ... ; f(1, 2) ; ... }

پرانتز سمت چپ در فراخوانی تابع برای دنبال کردن سریع تابع مورد نیاز است
نام، بدون هیچ فضای خالی. این امر از ابهام نحوی با
عملگر الحاق این محدودیت برای توابع داخلی فهرست شده اعمال نمی شود
در بالا.

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

استفاده کنید برگشت صادرات برای برگرداندن مقداری از یک تابع اگر نه، مقدار بازگشتی تعریف نشده است
مقدار ارائه شده است، یا اگر تابع با "افتادن" انتهای آن برگردد.

به عنوان یک گاو پسوند، توابع ممکن است به طور غیر مستقیم فراخوانی شوند. برای انجام این کار، نام آن را تعیین کنید
تابعی که باید به عنوان یک رشته به یک متغیر فراخوانی شود. سپس از متغیر به گونه ای استفاده کنید که گویی آن است
نام یک تابع با پیشوند an بود @ علامت بزنید، مانند:
تابع myfunc()
{
چاپ "myfunc به نام "
...
}

{ ...
the_func = "myfunc"
@the_func() # صدا از طریق the_func به myfunc
...
}
از نسخه 4.1.2، این با توابع تعریف شده توسط کاربر، توابع داخلی و
توابع پسوند

If -- پرز ارائه شده است، گاو در مورد فراخوانی توابع تعریف نشده در زمان تجزیه هشدار می دهد،
به جای زمان اجرا فراخوانی یک تابع تعریف نشده در زمان اجرا یک خطای مرگبار است.

کلمه عملکرد ممکن است به جای استفاده شود تابع، اگرچه این منسوخ شده است.

به صورت پویا بارگذاری جدید توابع


شما می توانید به صورت پویا توابع داخلی جدید را به در حال اجرا اضافه کنید گاو مترجم با
@بار بیانیه. جزئیات کامل خارج از محدوده این صفحه راهنما است. دیدن GAWK:
موثر AWK برنامه نويسي.

علائم


La گاو پروفایلر دو سیگنال را می پذیرد. SIGUSR1 باعث می شود که یک پروفایل و عملکرد آن تخلیه شود
پشته را به فایل نمایه فراخوانی کنید، که یکی است awkprof.out، یا هر فایلی که نام داشت
با --مشخصات گزینه. سپس به کار خود ادامه می دهد. چشم انداز علل گاو برای ریختن
نمایه و تابع پشته را فراخوانی کرده و سپس خارج شوید.

بین المللی شدن


ثابت‌های رشته‌ای، دنباله‌ای از کاراکترهایی هستند که در دو گیومه محصور شده‌اند. به زبان غیر انگلیسی
در محیط های گفتاری، می توان رشته ها را در برنامه AWK به عنوان نیاز علامت گذاری کرد
ترجمه به زبان طبیعی محلی چنین رشته هایی در برنامه AWK با علامت گذاری شده اند
زیرخط پیشرو ("_"). مثلا،

گاو 'شروع { چاپ "سلام، جهان " }'

همیشه چاپ می کند درود، جهان. ولی،

گاو 'شروع { چاپ _"سلام، جهان " }'

ممکن است چاپ شود تیم Bonjour، مد در فرانسه است.

مراحل مختلفی در تولید و اجرای یک برنامه AWK قابل بومی سازی وجود دارد.

1. a اضافه کنید شروع اقدام برای اختصاص یک مقدار به TEXTDOMAIN متغیر برای تنظیم دامنه متن
به نام مرتبط با برنامه شما:

شروع { TEXTDOMAIN = "myprog" }

این اجازه می دهد گاو برای پیدا کردن .gmo فایل مرتبط با برنامه شما بدون این
گام، گاو با استفاده از پیام دامنه متنی، که احتمالاً حاوی ترجمه نیست
برای برنامه خود

2. تمام رشته هایی را که باید ترجمه شوند با زیرخط اصلی علامت گذاری کنید.

3. در صورت لزوم، استفاده کنید dcgettext() و / یا bindtextdomain() توابع در برنامه شما،
در صورت مناسب بودن

4- اجرا کنید گاو ---جنس دیگ -f myprog.awk > myprog.pot برای تولید یک گلدان پرونده خود را
برنامه است.

5. ارائه ترجمه های مناسب، و ساخت و نصب متناظر .gmo فایل های.

ویژگی های بین المللی سازی با جزئیات کامل در شرح داده شده است GAWK: موثر AWK
برنامه نويسي.

POSIX COMPATIBILITY


یک هدف اولیه برای گاو سازگاری با استاندارد POSIX و همچنین با
آخرین نسخه برایان کرنیگان بیدار. به این منظور، گاو موارد زیر را در بر می گیرد
ویژگی های قابل مشاهده توسط کاربر که در کتاب AWK توضیح داده نشده اند، اما بخشی از برایان هستند
نسخه Kernighan از بیدار، و در استاندارد POSIX هستند.

کتاب نشان می دهد که تخصیص متغیر خط فرمان زمانی اتفاق می افتد بیدار در غیر این صورت
آرگومان را به صورت فایل باز کنید که بعد از شروع قانون اجرا می شود با این حال، در
در پیاده سازی های قبلی، زمانی که چنین تخصیصی قبل از هر نام فایل ظاهر می شد،
تکلیف اتفاق می افتاد قبل از la شروع قانون اجرا شد برنامه های کاربردی به این بستگی دارد
این "ویژگی" چه زمانی بیدار برای مطابقت با اسناد آن تغییر کرد -v گزینه برای
تخصیص متغیرها قبل از اجرای برنامه برای تطبیق برنامه‌های کاربردی اضافه شد
بستگی به رفتار قدیمی داشت (این ویژگی مورد توافق هر دو بل بود
آزمایشگاه ها و توسعه دهندگان گنو.)

هنگام پردازش آرگومان ها، گاو از گزینه ویژه "--" برای علامت دادن به پایان استفاده می کند
استدلال ها در حالت سازگاری، هشدار می دهد اما در غیر این صورت گزینه های تعریف نشده را نادیده می گیرد.
در عملکرد عادی، چنین آرگومان هایی به برنامه AWK منتقل می شود تا پردازش شود.

کتاب AWK مقدار بازگشتی را تعریف نمی کند srand(). استاندارد POSIX آن را دارد
دانه ای را که استفاده می کرد برگردانید تا امکان ردیابی دنباله های اعداد تصادفی را فراهم کند.
از این رو srand() in گاو همچنین دانه فعلی خود را برمی گرداند.

سایر ویژگی های جدید عبارتند از: استفاده از چندین -f گزینه ها (از MKS بیدار)؛ این محیط زیست آرایه؛
la \aو \v دنباله های فرار (انجام شده در اصل در گاو و دوباره به زنگ خورد
نسخه آزمایشگاهی)؛ را برای کاهش() و toupper() توابع داخلی (از Bell
نسخه آزمایشگاهی)؛ و مشخصات تبدیل ISO C در printf (اول در
نسخه آزمایشگاه بل).

تاریخی ویژگی‌ها


یکی از ویژگی های پیاده سازی AWK تاریخی وجود دارد که گاو پشتیبانی می کند: امکان پذیر است
برای تماس با طول () تابع داخلی نه تنها بدون آرگومان، بلکه حتی بدون
پرانتز! بدین ترتیب،

a = طول # مقدس الگول شماره ۱۰۲۹، ! بتمن

مانند هر یک از آنها است

a = طول ()
a = طول ($0)

استفاده از این ویژگی تمرین ضعیفی است و گاو در مورد استفاده از آن هشدار می دهد اگر -- پرز is
در خط فرمان مشخص شده است.

گنو حرکات


گاوک تعداد بسیار زیادی پسوند POSIX دارد بیدار. آنها در این توضیح داده شده اند
بخش. تمام برنامه های افزودنی که در اینجا توضیح داده شده است را می توان با فراخوانی غیرفعال کرد گاو با
--سنتی or --posix گزینه.

ویژگی های زیر از گاو در POSIX موجود نیستند بیدار.

· هیچ جستجوی مسیری برای فایل های نامگذاری شده از طریق انجام نمی شود -f گزینه. بنابراین AWKPATH
متغیر محیطی خاص نیست.

· هیچ امکانی برای درج فایل وجود ندارد (گاو's @عبارتند از سازوکار).

هیچ امکانی برای افزودن پویا توابع جدید نوشته شده در C وجود ندارد (گاو's @بار
سازوکار).

· \x دنباله فرار (غیرفعال با --posix.)

· قابلیت ادامه خطوط بعد از ? و :. (غیرفعال با --posix.)

· ثابت های اکتال و هگزادسیمال در برنامه های AWK.

· ARGIND, BINMODE, ERRNO, LINT, RT و TEXTDOMAIN متغیرها خاص نیستند

· نادیده گرفتن متغیر و عوارض جانبی آن در دسترس نیست.

· پهنای میدان تقسیم میدان متغیر و با عرض ثابت

· FPAT متغیر و تقسیم فیلد بر اساس مقادیر فیلد.

· PROCINFO آرایه در دسترس نیست

· استفاده از RS به عنوان یک عبارت منظم

· نام فایل های ویژه موجود برای تغییر مسیر I/O شناسایی نمی شود.

· |& اپراتور برای ایجاد فرآیندهای مشترک

· BEGINFILE و ENDFILE الگوهای خاصی در دسترس نیست

· امکان تقسیم کاراکترهای فردی با استفاده از رشته تهی به عنوان مقدار FS,
و به عنوان استدلال سوم به شکاف().

· آرگومان چهارم اختیاری به شکاف() برای دریافت متن های جداکننده

· آرگومان دوم اختیاری به بستن() تابع.

· آرگومان سوم اختیاری به همخوانی داشتن() تابع.

· قابلیت استفاده از مشخص کننده های موقعیتی با printf و sprintf().

· قابلیت ارسال یک آرایه به طول ().

· و (), asort(), asorti(), bindtextdomain(), compl(), dcgettext(), dcngettext(),
gensub(), lshift(), mktime(), یا(), patsplit(), rshift(), strftime(), strtonum(),
systime() و xor() توابع.

· رشته های قابل بومی سازی.

کتاب AWK مقدار بازگشتی را تعریف نمی کند بستن() تابع. گاوک's بستن()
مقدار را از fclose(3) ، یا نزدیک(3)، هنگام بستن یک فایل یا لوله خروجی،
به ترتیب. هنگام بستن لوله ورودی، وضعیت خروج فرآیند را برمی گرداند. در
اگر فایل نامگذاری شده، لوله یا فرآیند مشترک با a باز نشده باشد، مقدار بازگشتی -1 است
تغییر جهت

چه زمانی گاو با فراخوانی می شود --سنتی گزینه، اگر fs استدلال به -F گزینه است
"t"، سپس FS روی کاراکتر تب تنظیم شده است. توجه داشته باشید که تایپ کردن گاو -F\t ... به سادگی باعث می شود
پوسته برای نقل قول "t"، و "\t" را به the ارسال نمی کند -F گزینه. از آنجایی که این یک است
مورد خاص و نه زشت، این رفتار پیش فرض نیست. این رفتار نیز ندارد
رخ دهد اگر --posix مشخص شده است. واقعاً یک کاراکتر برگه را به عنوان فیلد دریافت کنید
جداکننده، بهتر است از نقل قول های تک استفاده کنید: گاو -F'\t' ....

محیط زیست متغیرها


La AWKPATH متغیر محیطی می تواند برای ارائه لیستی از دایرکتوری ها استفاده شود گاو
هنگام جستجوی فایل‌هایی که از طریق -f، --فایل, -i و --عبارتند از گزینه ها. اگر
جستجوی اولیه با شکست مواجه می شود، مسیر پس از الحاق دوباره جستجو می شود .awk به نام فایل

La AWKLIBPATH متغیر محیطی می تواند برای ارائه لیستی از دایرکتوری ها استفاده شود گاو
هنگام جستجوی فایل‌هایی که از طریق -l و --بار گزینه.

La GAWK_READ_TIMEOUT متغیر محیطی را می توان برای تعیین بازه زمانی استفاده کرد
میلی ثانیه برای خواندن ورودی از ترمینال، لوله یا ارتباطات دو طرفه از جمله
پریز برق.

برای اتصال به یک میزبان راه دور از طریق سوکت، GAWK_SOCK_RETRIES تعداد را کنترل می کند
دوباره تلاش می کند و GAWK_MSEC_SLEEP و فاصله بین تلاش های مجدد فاصله در است
میلی ثانیه در سیستم هایی که پشتیبانی نمی کنند خوابیدن(3)، مقدار به بالا گرد می شود
تعداد کامل ثانیه

If POSIXLY_CORRECT پس در محیط وجود دارد گاو دقیقاً طوری رفتار می کند که انگار --posix بود
در خط فرمان مشخص شده است. اگر -- پرز مشخص شده است، گاو اخطار می دهد
پیامی به این منظور

خروج وضعیت


اگر خروج سپس عبارت با یک مقدار استفاده می شود گاو با مقدار عددی داده شده خارج می شود
به آن است.

در غیر این صورت، اگر در حین اجرا مشکلی وجود نداشت، گاو با مقدار C خارج می شود
ثابت EXIT_SUCCESS. این معمولاً صفر است.

اگر خطایی رخ دهد، گاو با مقدار ثابت C خارج می شود EXIT_FAILURE. این هست
معمولا یکی

If گاو به دلیل یک خطای کشنده خارج می شود، وضعیت خروج 2 است. در سیستم های غیر POSIX، این
مقدار ممکن است به نقشه برداری شود EXIT_FAILURE.

نسخه اطلاعات


اسناد این صفحه مرد گاو، نسخه 4.1.

AUTHORS


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

پل روبین و جی فنلاسون، از بنیاد نرم افزار آزاد، نوشتند گاو، سازگار باشد
با نسخه اصلی بیدار در نسخه هفتم یونیکس توزیع شده است. جان وودز
تعدادی از رفع اشکال کمک کرد. دیوید ترومن، با مشارکت آرنولد رابینز،
ساخته گاو سازگار با نسخه جدید یونیکس بیدار. آرنولد رابینز جریان است
نگهدارنده

دیدن GAWK: موثر AWK برنامه نويسي برای یک لیست کامل از مشارکت کنندگان به گاو و آن
مستندات.

مشاهده README فایل در گاو توزیع برای اطلاعات به روز در مورد نگهدارنده ها
و کدام پورت ها در حال حاضر پشتیبانی می شوند.

BUG گزارش ها


اگر اشکالی پیدا کردید گاو، لطفا نامه الکترونیکی به [ایمیل محافظت شده]است. لطفا
شامل سیستم عامل خود و ویرایش آن، نسخه از گاو (از گاو - نسخه),
از کدام کامپایلر C برای کامپایل آن استفاده کردید و یک برنامه آزمایشی و داده هایی به کوچکی آن
برای بازتولید مشکل امکان پذیر است.

قبل از ارسال گزارش اشکال، لطفاً موارد زیر را انجام دهید. ابتدا بررسی کنید که دارید
آخرین نسخه از گاو. بسیاری از اشکالات (معمولاً موارد ظریف) در هر نسخه رفع می شوند،
و اگر شما قدیمی است، ممکن است مشکل قبلا حل شده باشد. دوم، لطفا ببینید
در صورت تنظیم متغیر محیطی LC_ALL به LC_ALL=C باعث می شود که چیزها مانند شما رفتار کنند
انتظار. اگر چنین است، این یک مشکل محلی است و ممکن است واقعاً یک اشکال باشد یا نباشد. در نهایت لطفا
این صفحه مرد و کتابچه راهنمای مرجع را به دقت بخوانید تا مطمئن شوید که آنچه فکر می کنید یک است
اشکال واقعاً وجود دارد، به جای صرفاً یک ابهام در زبان.

هر کاری که میکنی انجام بده نه ارسال یک گزارش اشکال در comp.lang.awk. در حالی که گاو توسعه دهندگان
گاهی اوقات این گروه خبری را بخوانید، ارسال گزارش اشکال راه غیر قابل اعتمادی برای گزارش وجود دارد
اشکالات. در عوض، لطفا از آدرس های پست الکترونیکی داده شده در بالا استفاده کنید. واقعا

اگر از یک سیستم مبتنی بر گنو/لینوکس یا BSD استفاده می‌کنید، ممکن است بخواهید یک گزارش اشکال ارسال کنید
فروشنده توزیع شما خوب است، اما لطفا یک کپی را برای مسئول ارسال کنید
آدرس ایمیل نیز وجود دارد، زیرا هیچ تضمینی وجود ندارد که گزارش اشکال به آن ارسال شود
la گاو نگهدارنده

با استفاده از خدمات onworks.net از gawk آنلاین استفاده کنید


سرورها و ایستگاه های کاری رایگان

دانلود برنامه های ویندوز و لینوکس

دستورات لینوکس

Ad