لینکس کمانڈ - گوک جانیں

نام

گاک - پیٹرن سکیننگ اور زبان کی پروسیسنگ

مطمئن

گرو [POSIX یا GNU سٹائل کے اختیارات] -f پروگرام فائل [ - ] فائل ...
گاک [POSIX یا GNU سٹائل کے اختیارات] [ - ] پروگرام - ٹیکسٹ فائل ...

Pawk [POSIX یا GNU سٹائل کے اختیارات] -F پروگرام فائل [ - ] فائل ...
Pawk [POSIX یا GNU سٹائل کے اختیارات] [ - ] پروگرام - ٹیکسٹ فائل ...

تفصیل

گاک اے وی کے پروگرام پروگرام کی زبان کے GNU پراجیکٹ ہے. یہ POSIX 1003.2 کمان کی زبان اور یوٹیلیوز سٹینڈرڈ میں زبان کی تعریف کے مطابق ہے. موڑ میں یہ ورژن اے ویک پروگرامنگ کی زبان میں ، آو، کیرنگاہ اور وینبرجر کی وضاحت پر مبنی ہے، یونیسیکس آکسیسی کے سسٹم وی ریلیز 4 ورژن میں اضافی اضافی خصوصیات کے ساتھ. گاک نے مزید حالیہ گھنٹہ لیبریٹریریز آک کی توسیع فراہم کی ہے، اور کئی جی این یو کی مخصوص توسیع فراہم کرتا ہے.

پیگوک گرو کا پروفیشنل ورژن ہے. پروگراموں کو زیادہ آہستہ آہستہ چلتا ہے، اور اس طرح خود کار طریقے سے فائل awkprof.out فائل میں ایک اعلانیہ پروفائل پیدا کرتا ہے کے علاوہ، یہ گرو کے ہر طرح میں ایک جیسی ہے. مندرجہ ذیل پروپوزل کا اختیار ملاحظہ کریں.

کمانڈ لائن خود کو گاک کرنے کے لئے اختیارات پر مشتمل ہوتا ہے، اے بی کے پروگرام کے متن (اگر ایف ایف یا فیلف کے اختیارات کے ذریعہ فراہم نہیں کیا گیا ہے)، اور آرجیسی اور آرجیوی میں پہلے سے مقرر کردہ AWK متغیرات میں دستیاب ہونے کی قیمتیں.

اختیاری شکل

گاک کے اختیارات یا تو روایتی POSIX ایک خط کے اختیارات ہو سکتے ہیں، یا GNU سٹائل طویل اختیارات. POSIX کے اختیارات ایک `` - '' کے ساتھ شروع کرتے ہیں، جبکہ طویل اختیارات `` - '' کے ساتھ شروع ہوتی ہے. طویل اختیارات دونوں GNU مخصوص خصوصیات اور POSIX- مینیڈڈ خصوصیات کے لئے فراہم کی جاتی ہیں.

POSIX معیار کے بعد، گاک - مخصوص اختیارات دلائل کے ذریعہ ڈبلیو اختیار میں فراہم کی جاتی ہیں. ایک سے زیادہ ڈبلیو کے اختیارات فراہم کیے جا سکتے ہیں ہر ایک ڈبلیو کے اختیارات میں ایک طویل عرصہ اختیار ہے، جیسا کہ ذیل میں تفصیلی ہے. طویل اختیارات کے لۓ یا تو ایک یا علامت کے ذریعہ اختیار میں شامل ہو چکا ہے، مداخلت والے جگہوں کے ساتھ، یا وہ اگلے کمانڈ لائن کے دلائل میں فراہم کی جا سکتی ہیں. لمبی اختیاری مختصر ہوسکتے ہیں، جب تک کہ مختصر طور پر نصوص ناممکن رہیں.

اختیارات

گاک حروف تہجی سے درج درج ذیل اختیارات کو قبول کرتا ہے.

ایف ایف

فیلڈ الگ الگٹر ایف ایس ان پٹ فیلڈ الگ الگ ( ایف ایس پیش وضاحتی متغیر کی قیمت) کے لئے ایف ایس کا استعمال کریں.

-V vAR = ویل

پروگرام کے عمل کو شروع کرنے سے قبل - vign = val متغیر ویر کی قیمت ویل کو تفویض کریں. ایسی متغیر اقدار ایک AWK پروگرام کے BEGIN بلاک کے لئے دستیاب ہیں.

ایف پروگرام فائل

- فائل پروگرام فائل فائل کے پروگرام سے فائل کے ذریعہ AWK پروگرام کا ذریعہ پڑھیں، بجائے پہلی کمانڈ لائن کے دلائل سے. ایک سے زیادہ ایف (یا - فائل ) کے اختیارات استعمال کیا جا سکتا ہے.

- این این این این

این این این این قیمت میموری حدود قیمت NNN پر مقرر کریں. ایف پرچم کو زیادہ سے زیادہ شعبوں کا تعین کرتا ہے، اور پرچم کا زیادہ سے زیادہ ریکارڈ سائز مقرر کرتا ہے. یہ دو پرچم اور ایم کے اختیارات یونکس آک کے بیل لیبارٹریز ریسرچ ورژن سے ہیں. وہ گاک کی طرف سے نظر انداز کر رہے ہیں، کیونکہ گاک میں کوئی پہلے سے محدود حدود نہیں ہے.

-W compat

- ڈبلیو روایتی

سمجھو

مطابقت پذیر موڈ میں مسلسل چلائیں. مطابقت کے موڈ میں، گاک UNIX awk کے ساتھ شناخت سے سلوک کرتا ہے؛ جی این یو مخصوص ملانے میں سے کوئی بھی تسلیم شدہ نہیں ہے. اس اختیار کے دوسرے اقسام پر - حد کے استعمال کو ترجیح دی جاتی ہے. مزید معلومات کے لئے، ذیل میں، GNU اخراجات دیکھیں.

-W copyleft

- وی کاپی رائٹ

--copyleft

--پیپیپیپی معیاری پیداوار پر GNU کاپی رائٹ کی معلومات کے پیغام کا مختصر ورژن پرنٹ کریں اور کامیابی سے باہر نکلیں.

-W ڈمپ متغیرات = = فائل ]

- ڈمپ متغیرات [ = فائل ] گلوبل متغیرات، ان کی اقسام اور فائلوں میں حتمی اقدار کی ایک ترتیب شدہ فہرست پرنٹ کریں . اگر کوئی فائل فراہم نہیں کی گئی ہے تو، گاک موجودہ ڈائرکٹری میں awkvars.out نامی فائل کا استعمال کرتا ہے.

آپ کے پروگراموں میں ٹائپگرافیکل غلطیاں تلاش کرنے کے لئے تمام عالمی متغیرات کی ایک فہرست ہونے کا ایک اچھا طریقہ ہے. اگر آپ بہت افعال کے ساتھ بڑے پروگرام حاصل کرتے ہیں تو آپ اس اختیار کا بھی استعمال کریں گے، اور آپ اس بات کو یقینی بنانا چاہتے ہیں کہ آپ کے افعال غیر محتاط طور پر عالمی متغیرات کو مقامی طور پر استعمال نہ کریں جنہیں آپ مقامی بننا چاہتے تھے. (یہ سادہ متغیر ناموں جیسے i ، j ، وغیرہ وغیرہ کے ساتھ بنانے کے لئے یہ خاص طور پر آسان غلطی ہے.)

- مدد کریں

-W استعمال

--مدد

معیاری پیداوار پر دستیاب اختیارات کا نسبتا مختصر خلاصہ. ( جی این یو کوڈنگ کے معیارات کے مطابق ، یہ اختیارات فوری طور پر، کامیابی سے باہر نکلیں.)

ڈبلیو لٹ [ = مہلک ]

- لٹ [ = مہلک ] دیگر تعمیراتی منصوبوں کے بارے میں انتباہ یا غیر پورٹیبل کے بارے میں انتباہ فراہم کریں. مہلک کی اختیاری دلیل کے ساتھ، اشارہ انتباہات مہلک غلطیاں بنتی ہیں. یہ بہت اچھا ہوسکتا ہے، لیکن اس کا استعمال یقینی طور پر کلینر اے وی کے پروگراموں کی ترقی کو فروغ دیتا ہے.

ڈبلیو

ابتدائی تعمیرات کے بارے میں انتباہ فراہم کرتے ہیں جو یونیسیکس کے اصل ورژن میں پورٹیبل نہیں ہیں.

- ڈبلیو پو

--جن-پو سکین اور اے بی آر کے پروگرام کو نفاذ کرتے ہیں، اور پروگرام میں تمام مقامی ترین تار کے لئے اندراجات کے ساتھ معیار کی پیداوار پر ایک جی این یو .po کی شکل فائل تیار کرتے ہیں. پروگرام خود ہی نہیں ہے. .po فائلوں پر مزید معلومات کے لئے GNU gettext کی تقسیم دیکھیں.

-W غیر ڈسیکٹو ڈیٹا

--ن-ڈیسلیس-ڈیٹا ان پٹ کے اعداد و شمار میں آکٹل اور ہییکسڈیکائل اقدار کو تسلیم کرتے ہیں. اس احتیاط سے بہت احتیاط سے استعمال کریں!

- وی posix

--کسکس یہ مطابقت موڈ پر بدل جاتا ہے، مندرجہ ذیل اضافی پابندی کے ساتھ:

*

\ x فرار کے سلسلے کو تسلیم نہیں کیا جاتا ہے.

*

FS ایک ہی جگہ پر مقرر کیا جاتا ہے جب صرف خلائی اور ٹیب کے طور پر میدان علیحدگی کے طور پر کام کرتا ہے، نئی لائن نہیں ہے.

*

آپ کے بعد لائنوں کو جاری نہیں کر سکتے ہیں ؟ اور :.

*

مطلوبہ الفاظ کی فنکشن کے لئے مترجم تفریح کو تسلیم نہیں کیا جاتا ہے.

*

آپریٹرز *** اور ** = ^ اور ^ = کی جگہ میں استعمال نہیں کیا جا سکتا.

*

fflush () فنکشن دستیاب نہیں ہے.

- پروفائل [ = prof_file ]

--profile [ = prof_file ] prof_file کو پروفائلنگ ڈیٹا بھیجیں. ڈیفالٹ awkprof.out ہے . جب گاک کے ساتھ چلتے ہیں، تو یہ پروگرام صرف پروگرام کے `` خوبصورت پرنٹ '' ورژن ہے. جب پیگو کے ساتھ چلتے ہیں تو، پروفائل میں ہر ایک بیان کے پھانسی کی تعداد میں بائیں مارجن اور فعل کال میں شمار ہوتا ہے جو ہر صارف کی وضاحت کی تقریب کے لئے ہے.

-W دوبارہ وقفہ

-ایک-انٹرولول باقاعدگی سے اظہار مماثل مماثلت میں وقفہ اظہار کے استعمال کو فعال کریں (ذیل میں باقاعدہ اشارے دیکھیں،). اے پی کے زبان میں انٹراوا اظہار کی روایتی طور پر دستیاب نہیں تھے. POSIX معیاری نے ان کو شامل کیا، ایک دوسرے کے ساتھ عجیب اور egrep کے مطابق. تاہم، ان کے استعمال پرانے AWK کے پروگراموں کو توڑنے کا امکان ہے، لہذا گوک صرف ان کو فراہم کرتا ہے اگر وہ اس اختیار کے ساتھ درخواست کی جاسکیں ، یا جب - پوسکس مخصوص ہو.

- وی ذریعہ پروگرام - متن

AWS پروگرام ذریعہ کوڈ کے طور پر - وسائل پروگرام - ٹیکسٹ استعمال پروگرام - متن . اس اختیار کو لائبریری کے افعال کے آسان مداخلت کی اجازت دیتا ہے (ایف - اور -فائل اختیارات کے ذریعہ استعمال کیا جاتا ہے) کمانڈ لائن پر داخل کردہ ذریعہ کوڈ کے ساتھ. یہ بنیادی طور پر شیل سکرپٹ میں استعمال ہونے والے بڑے AWK پروگراموں کے ذریعہ درمیانے درجے کے لئے ہے.

- وی ورژن

معیاری پیداوار پر گاک کے اس مخصوص کاپی کے لئے تبادلے پرنٹ ورژن کی معلومات. بنیادی طور پر جاننے کے لئے یہ مفید ہے کہ اگر آپ کے سسٹم پر گاک کی موجودہ نقل کسی بھی مفت سافٹ ویئر فاؤنڈیشن کو تقسیم کرنے کے حوالے سے ہے. کیڑے کی اطلاع دیتے وقت یہ بھی مفید ہے. ( جی این یو کوڈنگ کے معیارات کے مطابق ، یہ اختیارات فوری طور پر، کامیابی سے باہر نکلیں.)

- اختیارات کے اختتام سگنل. یہ `` - '' کے ساتھ شروع کرنے کے لئے مزید دلائل AWK پروگرام میں مزید دلائلوں کی اجازت دینے کے لئے مفید ہے. یہ بنیادی طور پر متعدد دوسرے POSIX پروگراموں کے ذریعہ استعمال ہونے والے کنونشن کی طرف اشارہ کرتے ہیں.

مطابقت کے موڈ میں، کسی بھی دوسرے اختیارات کو غلط کے طور پر نشان زد کیا جاتا ہے، لیکن دوسری صورت میں نظر انداز نہیں کیا جاتا ہے. عام آپریشن میں، جب تک پروگرام کے متن کی فراہمی کی گئی ہے، پروسیسنگ کے لئے آرجیوی سرکٹ میں AWK پروگرام پر نامعلوم اختیارات منظور کیے جاتے ہیں. یہ `` #! '' کے قابل عمل مترجم میکانزم کے ذریعہ AWK پروگرام چلانے کے لئے خاص طور پر مفید ہے.

اے بی کے پروگرام پروگرام

اے بی کے پروگرام میں پیٹرن کارروائی کے بیانات اور اختیاری فنکشن کی تعریف ہوتی ہے.

پیٹرن { کارروائی بیانات }

فنکشن کا نام ( پیرامیٹرز کی فہرست ) { بیانات }

گوک سب سے پہلے پروگرام کے فائل (ے) سے پروگرام کا ذریعہ پڑھتا ہے، جو دلائل سے - وسائل سے ، یا کمانڈ لائن پر پہلے غیر اختیاری بحث سے مخصوص ہے. ایف او اور وسائل کے اختیارات کمانڈ لائن پر کئی بار استعمال کیے جا سکتے ہیں. گوک پروگرام کا متن پڑھتا ہے جیسا کہ اگر تمام پروگرام فائل اور کمانڈ لائن ذریعہ متن ایک دوسرے کے ساتھ مطابقت پذیر ہوگئے تھے. یہ AWK افعال کے لائبریریوں کی تعمیر کے لئے مفید ہے، بغیر ان میں ان کو ہر نئے AWK کے پروگرام میں شامل کرنا جو ان کا استعمال کرتا ہے. یہ کمانڈ لائن پروگراموں کے ساتھ لائبریری افعال کو مکس کرنے کی صلاحیت بھی فراہم کرتا ہے.

ماحول متغیر AWKPATH استعمال کرنے کے لئے تلاش کے راستے کی وضاحت کرتا ہے جب -f آپشن کے ساتھ نامزد فائلوں کو تلاش کرنا. اگر یہ متغیر موجود نہیں ہے تو، پہلے سے طے شدہ راستہ ".: / usr / local / share / awk" ہے . (اصلی ڈائرکٹری مختلف ہوتی ہے، اس کے بارے میں کہ کس طرح گاک تعمیر کیا گیا ہے اور انسٹال کیا گیا ہے.) اگر فائل کا نام ایف - اختیار میں `` / '' کردار پر مشتمل ہے، کوئی راہ تلاش نہیں کیا جاتا ہے.

گوک مندرجہ ذیل حکم میں اے ایف کے پروگراموں کو چلاتا ہے. سب سے پہلے، V کے ذریعے مخصوص تمام متغیر تفویض انجام دیا جاتا ہے. اگلا، گرو اس پروگرام کو اندرونی شکل میں مرتب کرتا ہے. اس کے بعد، گاک کوڈ کو BEGIN بلاک (اگر کوئی) میں چلاتا ہے ، اور پھر ARGV سر میں نامزد ہر فائل کو پڑھنے کے لئے آمدنی. اگر کمانڈ لائن پر نام نہاد فائلیں موجود ہیں تو، گاک معیاری ان پٹ کو پڑھتا ہے.

اگر کمانڈ لائن پر فائل کا نام فارم var = VAL ہے تو یہ متغیر تفویض کے طور پر سلوک کیا جاتا ہے. متغیر ویر قیمت ویل کو دیا جائے گا. (ایسا ہوتا ہے جب کسی BEGIN بلاک (چلانے) چل رہا ہے کے بعد ہوتا ہے.) کمانڈ لائن متغیر تفویض کو متغیر سے اقدار کو متحرک طور پر تفویض کرنے کے لئے سب سے زیادہ مفید ہے. AWK کو کنٹرول کرنے کے لئے استعمال کرتا ہے کہ ان پٹ اور ریکارڈوں میں کس طرح ٹوٹ جاتا ہے. یہ ریاست کو کنٹرول کرنے کے لئے بھی مفید ہے اگر ایک ڈیٹا فائل پر ایک سے زیادہ پاس کی ضرورت ہوتی ہے.

اگر ARGV کے ایک خاص عنصر کی قیمت خالی ہے ( ""گاک اس پر کھوپڑی ہے.

ان پٹ میں ہر ریکارڈ کے لئے، گاک ٹیسٹ یہ دیکھنے کے لئے کہ یہ اے بی کے پروگرام میں کسی بھی نمونہ سے ملتا ہے. ہر پیٹرن کے لئے ریکارڈ میچز، منسلک عمل کو عملدرآمد کیا جاتا ہے. اس پروگرام میں ان کے پیٹرن کا تجربہ کیا جاتا ہے.

آخر میں، تمام ان پٹ کو ختم ہونے کے بعد، گرو نے کوڈ کو اختتام بلاک (ے) میں اجرا کر دیا ہے.

متغیرات، ریکارڈز اور فیلڈز

AWK متغیر متحرک ہیں؛ وہ وجود میں آتے ہیں جب وہ سب سے پہلے استعمال ہوتے ہیں. ان کی اقدار یا تو فلوٹنگ پوائنٹس یا تار، یا دونوں ہیں، ان پر منحصر ہے کہ وہ کیسے استعمال کرتے ہیں. AWK بھی ایک جہتی arrays ہے؛ ایک سے زیادہ طول و عرض کے ساتھ arrays کے سگنل ہو سکتا ہے. بہت سے پہلے سے مقرر کردہ متغیر ایک پروگرام رنز کے طور پر مقرر کیے جاتے ہیں؛ ان کی وضاحت کی جائے گی اور ذیل میں خلاصہ کی جائے گی.

ریکارڈز

عام طور پر، نو لائن لائن کے حروف سے ریکارڈ الگ ہوتے ہیں. آپ کو کنٹرول کر سکتے ہیں کہ اقدار کو تفویض کرنے کے لۓ بلٹ ان متغیر RS میں ریکارڈ کس طرح الگ ہوجائے. اگر RS ایک ہی کردار ہے، تو وہ کردار ریکارڈ الگ کرتا ہے. دوسری صورت میں، RS ایک باقاعدہ اظہار ہے. اس باقاعدہ اظہار سے منسلک ان پٹ میں متن ریکارڈ کو الگ کرتا ہے. تاہم، مطابقت کے موڈ میں، اس کی تار قیمت کا صرف پہلا کردار ریکارڈ الگ کرنے کے لئے استعمال کیا جاتا ہے. اگر RS نیل سٹرنگ پر مقرر کیا جاتا ہے، تو ریکارڈ خالی لائنوں کی طرف سے الگ کیا جاتا ہے. جب آر ایس نیل سٹرنگ پر مقرر کیا جاتا ہے تو، نیا لائن کا کردار ہمیشہ فیلڈ جداکار کے طور پر کام کرتا ہے، اس کے علاوہ کسی بھی قیمت کے مطابق ایف ایس ہو سکتا ہے.

فیلڈز

جیسا کہ ہر ان پٹ ریکارڈ پڑھا جاتا ہے، گاک فیلڈ علیحدہ کنندہ کے طور پر ایف ایس متغیر کی قیمت کا استعمال کرتے ہوئے، ریکارڈ کو شعبوں میں تقسیم کرتا ہے. اگر ایف ایس ایک واحد کردار ہے تو، شعبوں کو اس کردار سے علیحدہ کیا جاتا ہے. اگر FS نیل تار ہے، تو ہر فرد انفرادی کردار الگ الگ میدان بن جاتا ہے. دوسری صورت میں، ایف ایس کا ایک مکمل باقاعدگی سے اظہار ہونے کی توقع ہے. خصوصی کیس میں کہ ایف ایس ایک واحد جگہ ہے، شعبوں کو خالی جگہوں اور / یا ٹیب اور / یا نئی لائنوں کے چلتے ہوئے الگ کر دیا جاتا ہے. (لیکن ملاحظہ کریں --کسکس ، ذیل میں). نوٹ: IGNORECASE کی قیمت (ذیل میں ملاحظہ کریں) یہ بھی اثر انداز کرتا ہے کہ ایف ایس باقاعدگی سے اظہار کیا ہے، اور جب آر ایس ایس باقاعدگی سے اظہار ہے تو ریکارڈ کیسے الگ ہوجاتا ہے.

اگر فیلڈ ڈیوڈتھ متغیر کی تعداد کی جگہ سے علیحدگی کی فہرست پر مقرر کیا جاتا ہے تو، ہر فیلڈ کو مقررہ چوڑائی کی امید ہوتی ہے، اور گاک مخصوص چوڑائیوں کے ذریعہ ریکارڈ کو الگ کرتا ہے. ایف ایس کی قیمت کو نظر انداز کر دیا گیا ہے. FS کے لئے ایک نئی قیمت کو تفویض فیلڈ ڈیڈائڈس کے استعمال پر زور دیتا ہے اور ڈیفالٹ رویے کو بحال کرتا ہے.

ان پٹ ریکارڈ میں ہر فیلڈ اس کی پوزیشن، $ 1 ، $ 2 ، اور اسی لحاظ سے حوالہ کیا جا سکتا ہے. $ 0 مکمل ریکارڈ ہے. شعبوں کی طرف سے حوصلہ افزائی کی ضرورت نہیں ہے:

ن = 5
$ n پرنٹ کریں

ان پٹ ریکارڈ میں پانچویں فیلڈ پرنٹ کرتا ہے.

متغیر این ایف ان پٹ ریکارڈ میں شعبوں کی کل تعداد پر مقرر کیا جاتا ہے.

غیر موجود علاقوں میں حوالہ جات (یعنی یعنی $ NF کے بعد شعبوں) نال تارنگ پیدا کرتے ہیں. تاہم، غیر موجود علاقے میں تفویض (مثال کے طور پر، $ (NF + 2) = 5 ) NF کی قیمت میں اضافہ کرتا ہے، کسی مداخلت کے شعبوں کو نال سٹرنگ کے ساتھ ان کی قیمت کے طور پر پیدا کرتا ہے، اور $ 0 کی قیمت کا سامنا کرنا پڑتا ہے شعبوں کو OFS کی قیمت کی طرف سے الگ کیا جا رہا ہے. منفی تعداد میں کھیتوں کے حوالے سے حوالہ جات ایک مہلک غلطی کا باعث بنتی ہیں. این ایف کی توثیق کا سبب بنتا ہے کہ کھیتوں کی قیمتوں کو کھو جانے والی نئی قیمت سے پہلے، اور $ 0 کی قیمت کو دوبارہ کم کرنے کے لۓ، شعبوں کے ساتھ کھیتوں کی قیمتوں سے الگ کیا جاسکتا ہے.

موجودہ میدان میں ایک قیمت کو تفویض کرنے کا سبب بنتا ہے جب پورے ریکارڈ کو $ 0 کا حوالہ دیا جائے گا. اسی طرح، $ 0 پر ایک قیمت تفویض کا سبب بناتا ہے کہ ریکارڈ دوبارہ تبدیل ہوجائے گا اور شعبوں کے لئے نئے اقدار تشکیل دے گا.

بلٹ میں متغیرات

گاک کی تعمیر میں متغیر ہیں:

آرجیجی

کمانڈ لائن دلائلوں کی تعداد (جس میں اختیارات شامل نہیں ہے، یا پروگرام کا ذریعہ).

آرگنڈ

اے آر جی وی میں انڈیکس موجودہ فائل پر عملدرآمد ہے.

آرجیوی

کمانڈ لائن کے دلائل کی رینج. صف 0 سے ARGC سے ترتیب ہے - 1. ARGV کے مواد کو متحرک طور پر تبدیل کر سکتے ہیں اعداد و شمار کے لئے استعمال کیا فائلوں کو کنٹرول کر سکتے ہیں.

بائنڈو

غیر POSIX کے نظام پر، تمام فائل I / O کے لئے `` بائنری '' موڈ کا استعمال بیان کرتا ہے. 1، 2، یا 3 کی تعداد میں اقدار، یہ بتائیں کہ ان پٹ فائلوں، آؤٹ پٹ فائلوں، یا تمام فائلیں، بالترتیب بائنری I / O استعمال کرنا چاہئے. "r" ، یا "w" کی سٹرنگ اقدار اس بات کی وضاحت کرتے ہیں کہ ان پٹ فائلوں یا آؤٹ پٹ فائلیں، بالترتیب، بائنری I / O استعمال کرنا چاہئے. "RW" یا "wr" کے سٹرنگ اقدار اس بات کی وضاحت کرتے ہیں کہ تمام فائلوں کو بائنری I / O استعمال کرنا چاہئے. کسی دوسرے تار کی قیمت کو "RW" کے طور پر علاج کیا جاتا ہے، لیکن ایک انتباہ پیغام پیدا ہوتا ہے.

CONVFMT

اعداد و شمار کے لئے تبادلوں کی شکل، "٪ .6g" ، ڈیفالٹ کے مطابق.

ENVIRON

موجودہ ماحول کے اقدار پر مشتمل ایک صف. صف ماحولیاتی متغیر کی طرف اشارہ کیا جاتا ہے، ہر عنصر اس متغیر کی قدر ہوتی ہے (مثال کے طور پر، ENVIRON ["HOME"] ہو سکتا ہے / گھر / آرنولڈ ). اس صف کو تبدیل کرنے والے ایسے پروگراموں کی طرف سے دیکھا جاۓ ماحول پر اثر انداز نہیں ہوتا جو گراؤنڈشن یا نظام () کے ذریعہ گاک کو سپا کرتے ہیں.

ERRNO

اگر کسی نظام کی غلطی ہوتی ہے یا پھر لائن لائن کے لئے پڑھنے کے دوران یا اس کے قریب () کے دوران دوبارہ لائن کے لئے ریئیرائزیشن ہوتی ہے، تو ERRNO ایک تار میں غلطی بیان کرے گا. قدر غیر انگریزی مقامیوں میں ترجمہ کے تابع ہے.

ای میل

فیلڈ وائٹس کی ایک سفید جگہ الگ الگ فہرست. جب سیٹ کیا جائے تو، گاک فیلڈ علیحدہ کنندہ کے طور پر ایف ایس متغیر کی قیمت کو استعمال کرنے کی بجائے مقررہ چوڑائی کے شعبوں میں ان پٹ کو دیتا ہے.

فائل کا نام

موجودہ ان پٹ فائل کا نام. اگر کمانڈ لائن پر کوئی فائلیں متعین نہیں ہیں تو، FILENAME کی قدر `` - '' ہے. تاہم، FILENAME BEGIN بلاک کے اندر غیر منقول ہے (جب تک سیٹ لائن کی طرف سے مقرر نہیں ہے).

ایف این آر

موجودہ ان پٹ فائل میں ان پٹ ریکارڈ نمبر.

ایف ایس

ان پٹ فیلڈ جداکار، ڈیفالٹ کی طرف سے ایک جگہ. مندرجہ بالا فیلڈز دیکھیں.

اجنبی

تمام باقاعدگی سے اظہار اور سٹرنگ آپریشن کی صورت میں حساسیت کو کنٹرول کرتا ہے. اگر IGNORECASE غیر صفر کی قیمت ہے تو، اس کے بعد قوانین میں سٹرنگ موازنہ اور پیٹرن مماثلت، ایف ایس کے ساتھ میدان میں تقسیم، RS کے ساتھ علیحدہ ریکارڈ، باقاعدہ اظہار ~ ~ اور ! ~ ، اور گینسوب () ، GSUB () ، انڈیکس () میچ () ، تقسیم () ، اور ذیلی () بلٹ ان افعال کو باقاعدگی سے اظہار آپریشنز کرتے وقت سبھی کیس نظر آتے ہیں. نوٹ: سیر سبسکرپٹ کو متاثر نہیں کیا جاسکتا ہے، اور نہ ہی ایسٹر () فنکشن ہے.

اس طرح، اگر IGNORECASE صفر کے برابر نہیں ہے، / A / تمام تار "AB" ، "AB" ، "Ab" ، اور "AB" سے مماثلت ہے. جیسا کہ تمام AWK متغیرات، IGNORECASE کی ابتدائی قیمت صفر ہے، لہذا تمام باقاعدگی سے اظہار اور سٹرنگ آپریشن عام طور پر کیس حساس ہیں. یونیسیس کے تحت، مکمل آئی ایس او 8859-1 لاطینی -1 کردار سیٹ استعمال کیا جاتا ہے جب کیس کو نظر انداز کر دیا جاتا ہے.

LINT

اے ٹی کے پروگرام کے اندر سے -Lint اختیار کے متحرک کنٹرول فراہم کرتا ہے. جب سچ ہو تو، گوک نے اشارہ انتباہ کا اشارہ کیا . جب غلط، یہ نہیں ہے. جب سٹرنگ کی قیمت "مہلک" کو تفویض کیا جاتا ہے تو، اشعار انتباہ مہلک غلطی بنتی ہے، بالکل - جیسے = موت . کوئی اور حقیقی قیمت صرف انتباہ پرنٹ کرتا ہے.

این ایف

موجودہ ان پٹ ریکارڈ میں شعبوں کی تعداد.

NR

ابھی تک دیکھا گیا ان پٹ ریکارڈ کی کل تعداد.

OFMT

نمبروں کے لئے پیداوار کی شکل، "٪ .6g" ، ڈیفالٹ کے مطابق.

OFS

آؤٹ پٹ فیلڈ جداکار، ڈیفالٹ کی طرف سے ایک جگہ.

ORS

آؤٹ لک ریکارڈ جدا کن، پہلے سے طے شدہ طور پر ایک نئی لائن.

PROCINFO

اس صف کے عناصر کو چلانے والے AWK پروگرام کے بارے میں معلومات تک رسائی فراہم کی جاتی ہے. کچھ نظاموں میں، کچھ این کے لئے "گروپ 1 " کے ذریعہ صف کے عناصر ہوسکتے ہیں، جس میں ضمنی گروہوں کی تعداد ہے جس میں عمل ہے. ان عناصر کے لئے ٹیسٹ کرنے کے لئے آپریٹر میں استعمال کریں. مندرجہ ذیل عناصر دستیاب ہونے کی ضمانت دی جاتی ہیں:

PROCINFO ["egid"]

getegid (2) نظام کال کی قیمت.

PROCINFO ["euid"]

geteuid (2) نظام کال کی قیمت.

PROCINFO ["FS"]

"ایف ایس" اگر فیلڈ تقسیم کے ساتھ ایف ایس ایس اثر میں ہے، یا "فولڈ ڈڈائڈس" اگر فیلڈ ڈیڈائڈ کے ساتھ فیلڈ کی تقسیم میں اثر انداز ہوتا ہے.

PROCINFO ["گڈ"]

getgid (2) نظام کال کی قیمت.

PROCINFO ["پی پی پیڈ"]

موجودہ عمل کے عمل گروپ کی شناخت.

PROCINFO ["پڈ"]

موجودہ عمل کی عمل کی شناخت.

PROCINFO ["پی پیڈ"]

موجودہ عمل کی والدین کے عمل کی شناخت.

PROCINFO ["uid"]

getuid (2) نظام کال کی قیمت.

RS

ان پٹ ریکارڈ الگ الگ، پہلے سے طے شدہ طور پر ایک نئی لائن.

RT

ریکارڈ ٹرمینٹر. گاک ان آٹ متن میں RT مقرر کرتا ہے جو آر ایس ایس کی طرف سے مخصوص کردار یا باقاعدگی سے اظہار ملا.

RSTART

میچ کے مطابق مل کر پہلا کردار کا انڈیکس () ؛ اگر کوئی میچ نہیں. (اس کا مطلب یہ ہے کہ کردار کے اشارے ایک میں شروع ہوتے ہیں.)

RLENGTH

میچ () سے مماثلت کی لمبائی کی لمبائی -1 اگر کوئی میچ نہیں.

SUBSEP

کردار "\ 034" ڈیفالٹ کے مطابق صف عناصر میں ایک سے زیادہ سبسکرائب کرنے کے لئے استعمال کیا جاتا ہے.

TEXTDOMAIN

AWK پروگرام کا متن ڈومین؛ پروگرام کے تار کے لئے مقامی ترجمہ کو تلاش کرنے کے لئے استعمال کیا جاتا تھا.

گرفتار

گرفت میں مربع بریکٹ ( [ اور ] ) کے درمیان ایک اظہار کے ساتھ سبسکرائب کیا جاتا ہے. اگر اظہار ایک اظہار کی فہرست ہے ( expr ، expr ...) پھر array subscript ایک SUB string ہے جس میں مشتمل ہر دائرے کی (تار) قیمت کے کنکشن ، SUBSEP متغیر کی قدر کی طرف سے الگ. یہ سہولت کثیر طول و عرض کی arrays کی نقل کرنے کے لئے استعمال کیا جاتا ہے. مثال کے طور پر:

i = "A"؛ j = "B"؛ k = "C"
x [i، j، k] = "hello، world \ n"

" ایکس ، ورلڈ \ n" سٹرنگ ایکس کے عناصر میں تار کو تفویض کرتا ہے جس میں سٹرنگ "A \ 034B \ 034C" کی طرف اشارہ کیا جاتا ہے. AWK میں تمام arrays افریقی ہیں، یعنی تار اقدار کی طرف اشارہ.

خاص آپریٹر میں استعمال کیا جا سکتا ہے یا اگرچہ یہ دیکھنے کے لئے کہ آیا ایک صف میں ایک انڈیکس ہے جس میں کسی مخصوص قیمت پر مشتمل ہے.

اگر (صف میں صف) پرنٹ سر [val]

اگر سر ایک سے زیادہ سبسکرائب ہے تو، (i، j) صف میں استعمال کریں .

تعمیر میں ایک صف کے تمام عناصر کے اوپر لوٹنے کے لئے لوپ میں بھی استعمال کیا جا سکتا ہے.

خارج ہونے والے بیان کا استعمال کرتے ہوئے ایک عنصر کو خارج کر دیا جا سکتا ہے. خارج ہونے کا بیان بھی ایک صف کے پورے مواد کو حذف کرنے کے لئے استعمال کیا جا سکتا ہے، صرف سبسکرپٹ کے بغیر صف نام کی وضاحت کی طرف سے.

متغیر ٹائپنگ اور تبادلوں

متغیرات اور شعبیں ہوسکتی ہیں (سچل پوائنٹ) نمبر، یا تار، یا دونوں. متغیر کی قدر کی تشریح کیا جاسکتا ہے اس کے تناظر پر. اگر عددی اظہار میں استعمال کیا جاتا ہے، تو اسے ایک نمبر کے طور پر علاج کیا جائے گا، اگر ایک تار کے طور پر استعمال کیا جائے تو اسے ایک تار کے طور پر علاج کیا جائے گا.

ایک متغیر طور پر علاج کرنے کے لئے متغیر کرنے کے لئے، اس میں 0 شامل کریں؛ یہ ایک تار کے طور پر علاج کرنے کے لئے مجبور کرنے کے لئے، اس کو سست تار کے ساتھ مطابقت رکھتا ہے.

جب ایک نمبر کو کسی تار میں تبدیل کیا جانا چاہئے تو اس میں تبدیلی strtod (3) کا استعمال ہوتا ہے. CONVFMT کی قیمت سپرنٹف (3) کے لئے شکل کی شکل کے طور پر متغیر کی عددی قدر کے ساتھ ایک متغیر میں ایک تار میں تبدیل کیا جاتا ہے. تاہم، اگرچہ AWK میں تمام نمبرز سچل نقطہ ہیں، انفرادی اقدار کو ہمیشہ انباق کے طور پر تبدیل کیا جاتا ہے. اس طرح دیا

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

متغیر بی "12" اور "12.00" کی تار قدر نہیں ہے.

گوک اس طرح کے موازنہ انجام دیتا ہے: اگر دو متغیر عددی ہیں، تو وہ تعداد میں مقابلے میں آتے ہیں. اگر ایک قدر عددی ہے اور دوسرے میں ایک تار قدر ہے جس میں `` عددی سٹرنگ ہے، '' تو پھر موازنہ بھی اعداد و شمار سے بھی کئے جاتے ہیں. دوسری صورت میں، عددی قیمت کو تار میں تبدیل کیا جاتا ہے اور تار کا مقابلہ کیا جاتا ہے. دو ڈھانچے کے مقابلے میں، بالکل، تار کے طور پر. نوٹ کریں کہ POSIX معیاری ہر جگہ `` عددی تار '' کے تصور پر لاگو ہوتا ہے، یہاں تک کہ محض تارکین وطن کو روکنے کے لئے. تاہم، یہ واضح طور پر غلط ہے، اور گاک یہ نہیں کرتا. (خوش قسمتی سے، یہ معیار کے اگلے ورژن میں مقرر کیا گیا ہے.)

نوٹ کریں کہ تار حلقے، جیسے "57" ، عددی تار نہیں ہیں، وہ تار constants ہیں. `` عددی سٹرنگ '' کا خیال صرف شعبوں، لائن لائن ان پٹ، FILENAME ، آرجیوی عناصر، ENVIRON عناصر اور تقسیم کی طرف سے پیدا کردہ صف کے عناصر پر مشتمل ہوتا ہے جس میں عددی تاریں موجود ہیں. بنیادی خیال یہ ہے کہ صارف ان پٹ ، اور صرف یوزر ان پٹ، جو عددی لگ رہا ہے، اس طرح کا علاج کیا جاسکتا ہے.

غیر ابتدائی متغیرات میں عددی قدر 0 اور سٹرنگ قدر "" (نالی، یا خالی، تار) ہے.

آکٹل اور ہیجادیکولسٹ Constants

گاک کے ورژن 3.1 کے ساتھ شروع ہوسکتا ہے ، آپ اپنے AWK پروگرام کے ذریعہ کوڈ میں C-style octal اور hexadecimal constants کا استعمال کرسکتے ہیں. مثال کے طور پر، آکٹل قدر 011 ڈس کلیمر 9 کے برابر ہے، اور ہییکسڈیکیلیٹ ایکسچینج 0x11 ڈس کلیمر 17 کے برابر ہے.

سٹرنگ Constants

AWK میں سٹرنگ ڈھانچے ڈبل حوالہ ( " ) کے درمیان موجود حروف کے سلسلے میں موجود ہیں ( " ). تار کے اندر، بعض فرار کے سلسلے کو تسلیم کیا جاتا ہے، جیسے C..

\\

ایک لفظی پس منظر.

\ a

`` الرٹ '' کردار؛ عام طور پر ASCII بیل کردار.

\ b

بیک اسپیس.

\ f

فارم فیڈ.

\ n

نئی لائن.

\ r

گاڑی واپسی

\ t

افقی ٹیب.

\ v

عمودی ٹیب.

\ x ہیکس ہندسوں

\ X کے بعد ہییکسڈیکیلٹ ہندسوں کی تار کی طرف سے پیش کردار. جیسا کہ ANSIC میں، سبھی مندرجہ ذیل ہییکسڈیکائل ہندسوں کو فرار ترتیب کا حصہ سمجھا جاتا ہے. (یہ خصوصیت کمیٹی کے ذریعہ زبان کے ڈیزائن کے بارے میں ہمیں کچھ بتانا چاہیے.) مثال کے طور پر، "\ X1B" ASCIIESC (فرار) کردار ہے.

\ ddd

کردار 1- 1-، 2-، یا آکٹل ہندسوں کے 3 ڈگری کی ترتیب کی طرف سے پیش کی گئی. مثال کے طور پر، "\ 033" ASCII ESC (فرار) کردار ہے.

\ c

لفظی کردار سی .

فرار کے سلسلے کو مسلسل باقاعدہ اظہار کے اندر استعمال کیا جا سکتا ہے (مثال کے طور پر، / [\ t \ f \ n \ r \ v] / وائٹ اسپیس حروف سے ملتا ہے).

مطابقت کے موڈ میں، باقاعدگی سے اظہار کشیدگی میں استعمال کرتے ہوئے آکٹل اور ہییکسڈیکیمیٹ فرار کے ترتیبات کی طرف سے پیش کردہ حروف لفظی طور پر علاج کیے جاتے ہیں. اس طرح، / ایک \ 52b / / \ \ b / کے برابر ہے.

پیٹرن اور اعمال

AWK ایک لائن پر مبنی زبان ہے. پیٹرن سب سے پہلے، اور پھر عمل آتا ہے. ایک اور بیانات {{ }} میں منسلک ہیں. یا پھر پیٹرن لاپتہ ہوسکتی ہے، یا کارروائی غائب ہوسکتی ہے، لیکن، بالکل، دونوں نہیں. اگر پیٹرن غائب ہو تو، ان پٹ کے ہر ایک ریکارڈ کے لئے کارروائی کی گئی ہے. ایک لاپتہ کارروائی کے برابر ہے

{پرنٹ}

جو پورے ریکارڈ کا اشارہ کرتا ہے.

تبصرے `` # '' کے کردار کے ساتھ شروع ہوتا ہے، اور لائن کے اختتام تک جاری رہتا ہے. بیانات کو علیحدہ کرنے کیلئے خالی لائنیں استعمال کی جا سکتی ہیں. عام طور پر، ایک بیان ایک نئی لائن کے ساتھ ختم ہوتا ہے، تاہم، یہ ``، ''، { ، میں ختم ہونے والی لائنوں کے لئے نہیں ہے . ، : ، && ، یا || . اس میں ختم ہونے والے لائنز یا اس کے علاوہ ان کے بیانات کو خود بخود درج ذیل لائن پر جاری رکھا گیا ہے. دوسرے معاملات میں، ایک لائن اس کے ساتھ ختم کرنے کی طرف سے جاری کیا جا سکتا ہے، جس میں نیا لائن نظر انداز کیا جائے گا.

ایک سے زیادہ بیانات ایک سطر پر رکھ کر انہیں `` '' کے ساتھ علیحدہ کرکے رکھ سکتے ہیں. یہ ایک پیٹرن کارروائی جوڑی (معمول کا کیس)، اور پیٹرن کارروائی کے بیانات میں خود کو دونوں کے بیانات پر لاگو ہوتا ہے.

پیٹرن

اے بی کے پیٹرن مندرجہ ذیل میں سے ایک ہوسکتے ہیں:

BEGIN END / باقاعدگی سے اظہار / رشتہ دار اظہار پیٹرن اور پیٹرن پیٹرن || پیٹرن پیٹرن ؟ پیٹرن : پیٹرن ( پیٹرن ) ! پیٹرن پیٹرن 1 ، پیٹرن 2

BEGIN اور END دو خاص قسم کے پیٹرن ہیں جو ان پٹ کے خلاف آزمائشی نہیں ہیں. تمام BEGIN پیٹرن کے عمل کے حصوں کو ضم کیا جاتا ہے جیسا کہ تمام بیانات ایک BEGIN بلاک میں لکھے گئے ہیں. کسی بھی ان پٹ کو پڑھنے سے پہلے انہیں پھانسی دی جاتی ہے. اسی طرح، آخر میں تمام بلاکس ضم ہوجاتے ہیں، اور ان پر عملدرآمد کرتے ہیں جب تمام ان پٹ کو ختم کردیا جاتا ہے (یا جب باہر نکلنے کا بیان خارج ہو چکا ہے). BEGIN اور END پیٹرن دیگر پیٹرن کے ساتھ پیٹرن اظہار اظہار میں شامل نہیں کیا جا سکتا. BEGIN اور END پیٹرنوں کو کارروائی کے حصوں کو غائب نہیں ہوسکتا ہے.

باقاعدگی سے اظہار / مباحثہ / پیٹرن کے لئے، منسلک بیان ہر ایک ان پٹ ریکارڈ کے لئے انجام دیا جاتا ہے جو باقاعدہ اظہار سے ملتا ہے. باقاعدگی سے اظہار اسی مثال کے طور پر ہیں (1)، اور ذیل میں خلاصہ کر رہے ہیں.

ایک مطابقت پسند اظہار اعمال کے سیکشن میں ذیل میں بیان کردہ کسی بھی آپریٹرز کا استعمال کرسکتے ہیں. عام طور پر یہ آزمائشی ہے کہ آیا بعض شعبوں کو مخصوص باقاعدہ اظہارات سے ملتی ہے.

&& ، || ، اور ! آپریٹر منطقی ہیں، منطقی یا، اور منطقی نہیں، क्रमی طور پر، سی. وہ مختصر طور پر سرکٹ سرکٹ کی تشخیص کرتے ہیں، جیسے سی میں، اور زیادہ پرائمری پیٹرن اظہار اظہار کے لئے استعمال کیا جاتا ہے. جیسا کہ زیادہ تر زبانوں میں، تشخیص کے حکم کو تبدیل کرنے کے لئے پیرسوں کا استعمال کیا جا سکتا ہے.

؟؟: آپریٹر اسی میں آپریٹر کی طرح ہے. اگر پہلا پیٹرن صحیح ہے تو ٹیسٹ کے لئے استعمال کیا پیٹرن دوسرا پیٹرن ہے، دوسری صورت میں یہ تیسری ہے. دوسرا اور تیسرا پیٹرن میں سے صرف ایک کا جائزہ لیا جاتا ہے.

پیٹرن 1 ، ایک اظہار کا پیٹرن 2 فارم ایک رینج پیٹرن کہا جاتا ہے . یہ ایک ریکارڈ کے ساتھ شروع ہونے والی تمام ان پٹ ریکارٹس سے نمٹا جاتا ہے جس میں پیٹرن 1 سے ملتا ہے ، اور ایک ریکارڈ تک تک جاری رہتا ہے جس میں پیٹرن 2 سے ملتا ہے. یہ کسی دوسرے قسم کے پیٹرن اظہار کے ساتھ یکجا نہیں ہے.

باقاعدگی سے اظہار

باقاعدگی سے اظہار مثال مثال کے طور پر وسیع نوعیت سے متعلق ہیں. وہ مندرجہ ذیل حروف کے مطابق ہیں:

سی

غیر میٹاکارٹر سی سے ملتا ہے.

\ c

لفظی کردار سی سے ملتا ہے.

.

نیا لائن سمیت کسی بھی کردار سے ملتا ہے.

^

ایک تار کے آغاز سے ملتا ہے.

$

ایک تار کے آخر سے ملتا ہے.

[ abc ... ]

کردار کی فہرست، کسی بھی حروف abc سے ملتا ہے ....

[^ abc ... ]

منفی کردار کی فہرست، abc سوا کسی بھی کردار سے ملتا ہے ....

R1 | R2

متبادل: یا R1 یا R2 سے ملتا ہے.

r1r2

مواصلات: R1 سے ملتا ہے، اور پھر R2 .

r +

ایک یا زیادہ ایرر آ گئے ہیں.

r *

صفر یا زیادہ سے زیادہ آر سے ملتا ہے.

R ؟

صفر یا ایک آر سے ملتا ہے.

( ر )

گروپ سازی: میچز آر .

r { n }

r { n }}

r { n ، m } بروسس کے اندر ایک یا دو نمبر ایک وقفہ اظہار بیان کرتا ہے . اگر بہادروں میں ایک نمبر موجود ہے تو پہلے باقاعدگی سے اظہار بیان آر این بار بار بار کیا جاتا ہے. اگر ایک کما کی طرف سے علیحدہ دو نمبر ہیں، تو R کو بار بار بار بار کیا جاتا ہے. اگر ایک کما کے بعد ایک کمانڈ ہے، تو کم از کم این بار بار بار بار بار کیا جاتا ہے.

انٹراوا اظہار تو صرف دستیاب ہے اگر یا تو - پوسکس یا - انٹر - وقفہ کمانڈ لائن پر بیان کیا جاتا ہے.

\ y

یا پھر لفظ کے آغاز یا اختتام پر خالی تار سے ملتا ہے.

\ B

لفظ کے اندر خالی تار سے ملتا ہے.

\ <

ایک لفظ کے آغاز میں خالی تار سے ملتا ہے.

\>

ایک لفظ کے اختتام پر خالی تار سے ملتا ہے.

\ w

کسی بھی لفظ کے حلقہ (حروف، ہندسوں، یا اندراج) سے ملتا ہے.

\ W

کسی بھی کردار سے ملتا ہے جو لفظ نہیں ہے.

\ `

بفر (سٹرنگ) کے آغاز میں خالی تار سے ملتا ہے.

\ '

بفر کے اختتام پر خالی تار سے ملتا ہے.

اسکرین کے حلقوں میں درست ہیں جو فرار کے ترتیب (نیچے ملاحظہ کریں) باقاعدگی سے اظہار میں بھی درست ہیں.

کریکٹر طبقے POSIX معیاری میں پیش کردہ ایک نئی خصوصیت ہے. ایک کردار طبقے حروف کے فہرستوں کی وضاحت کرنے کے لئے ایک خصوصی تشریح ہے جس میں مخصوص وصف ہے، لیکن اصل حروف خود ملک سے ملک میں اور / یا کردار سیٹ کے مطابق مقرر کر سکتے ہیں. مثال کے طور پر، امریکہ میں اور فرانس میں ایک حروف تہجی حروف کی کیا فرق ہے.

کردار کی فہرست کے بریکٹ کے اندر ایک کردار طبقے صرف باقاعدگی سے اظہار میں درست ہے. کریکٹر کلاسیں [[ ، ایک مطلوبہ الفاظ سے انکار کرتے ہیں، اور :] . POSIX معیار کی طرف سے وضاحت کردہ کردار کی کلاسیں ہیں:

[: alnum:]

اکشرانکیی حروف.

[الفا:]

حروف تہجی حروف

[: خالی:]

خلائی یا ٹیب حروف.

[: cntrl:]

کنٹرول حروف.

[: عددی:]

شمار حروف

[: گراف:]

حروف تہجی جو پرنٹ اور دکھائے جاتے ہیں. (ایک جگہ پرنٹ ہے، لیکن ظاہر نہیں، جبکہ دونوں دونوں ہیں.)

[: کم:]

لوط کیس حروف تہجی حروف.

[: پرنٹ:]

پرنٹ قابل حروف (حروف جو حروف کو کنٹرول نہیں کرتے ہیں).

[: پنکھ:]

قطع نظر حروف (حروف جو خط نہیں، ہندسوں، کنٹرول حروف، یا خلائی حروف).

[: خلائی:]

خلائی حروف (جیسے جگہ، ٹیب، اور فارمفائڈ، چند نام کے لئے).

[: اوپری:]

اپر کیس حروف تہجی حروف.

[: xdigit:]

حروف جو ہیکڈاسیکائل ہندسوں ہیں.

مثال کے طور پر، POSIX معیاری سے پہلے، حروف تہجی حروف سے ملنے کے لئے، آپ کو لکھنا پڑا / [A-Za-Z0-9] / . اگر آپ کے کردار میں اس میں دیگر حروف تہجی حروف موجود تھے، تو یہ ان سے متفق نہیں ہوتا، اور اگر آپ کا کردار ASCII سے مختلف ہوتا ہے، تو یہ شاید ASCII حروف تہجی حروف سے متفق نہیں ہوسکتا ہے. POSIX کردار کلاس کے ساتھ، آپ لکھ سکتے ہیں / [[: alnum:]] / ، اور یہ آپ کے کردار سیٹ میں حروف تہجی اور عددی حروف سے ملتا ہے.

حروف کی فہرستوں میں دو اضافی خاص ترتیب سامنے آ سکتے ہیں. یہ غیر ASCII کردار سیٹ پر لاگو ہوتا ہے، جس میں ایک علامات ( کالٹنگ عناصر کہتے ہیں ) جو ایک سے زیادہ کردار، اور ساتھ ہی کئی حروف جو collating ، یا sorting کے مقاصد کے لئے برابر ہیں کی نمائندگی کر سکتے ہیں. (مثال کے طور پر، فرینچ میں، ایک سادہ `` ای '' اور ایک جھوٹ بولنے والی ای `برابر ہیں.)

علامات کو کال کرنے

کالنگ علامت ایک کثیر کردار کولٹنگ عنصر ہے جس میں منسلک ہے [. اور .] مثال کے طور پر، اگر سی کو کال کرنے والی عنصر ہے، تو [[.ch]] ایک باقاعدگی سے اظہار ہے جو اس کوٹیٹ عنصر سے ملتا ہے، جبکہ [ch] ایک باقاعدگی سے اظہار ہے جس میں سی یا ایچ سے ملتی ہے.

مساوات کی کلاسیں

متوازن طبقے حروف کے ایک فہرست کے لئے ایک مقامی مخصوص نام ہے جو برابر ہیں. اس نام کا نام [= اور =] میں ہے . مثال کے طور پر، نام ای کے تمام `` ای، '`` ای'، '' اور `` ای` 'کی نمائندگی کرنے کے لئے استعمال کیا جا سکتا ہے.' 'اس صورت میں، [[= e =]] ایک باقاعدہ اظہار ہے کسی بھی ای ، ای ، یا ای` سے ملتا ہے.

یہ خصوصیات غیر انگریزی بولنے والے مقامی زبانوں میں بہت قیمتی ہیں. لائبریری کا کام کرتا ہے کہ گاک باقاعدہ اظہار کے لئے استعمال کرتا ہے جو فی الحال صرف POSIX کردار کلاس کو تسلیم کرتا ہے؛ وہ کالنگ علامتوں یا مسابقتی کلاسوں کو تسلیم نہیں کرتے ہیں.

\ y ، \ B ، \ < ، \> ، \ w ، \ W ، \ ` ، اور \ ' آپریٹر گاک کے لئے مخصوص ہیں؛ وہ جی این یو باقاعدگی سے اظہار لائبریریوں میں سہولیات پر مبنی ملتی ہیں.

مختلف کمانڈ لائن کے اختیارات کو کنٹرول کرتے ہیں کہ کس طرح گاک باقاعدگی سے اظہار میں حروف کی تعبیر کرتا ہے.

کوئی اختیار نہیں

پہلے سے طے شدہ کیس میں، گاک POSIX باقاعدگی سے اشارہ اور مندرجہ بالا GGU باقاعدگی سے اظہار آپریٹرز کی تمام سہولیات فراہم کرتا ہے. تاہم، وقفہ اظہار کی حمایت نہیں کی جاتی ہے.

--کسکس

صرف POSIX باقاعدگی سے اظہار کی حمایت کی جاتی ہے، GNU آپریٹرز خاص نہیں ہیں. (مثال کے طور پر، \ W ایک لفظی ڈبلیو ). انٹرایلا اظہار کی اجازت ہے.

- حد تک

روایتی یونکس کی باقاعدگی سے اشارہ ملتی ہیں. GNU آپریٹرز خاص نہیں ہیں، وقفہ اظہارات دستیاب نہیں ہیں، اور نہ ہی POSIX کردار کلاس ( [[: النم:]] اور اسی طرح) ہیں. آکٹل اور ہیکسڈاسیکائل فرار کے سلسلے میں بیان کردہ حروف لفظی طور پر علاج کیے جاتے ہیں، یہاں تک کہ اگر وہ باقاعدگی سے اظہار مباحثے کی نمائندگی کرتے ہیں.

- وقفہ

باقاعدگی سے اظہار میں وقفہ اظہار کی اجازت دیتے ہیں، یہاں تک کہ اگر - حد سے متعلق فراہم کی گئی ہے.

ایکشنز

ایکشن بیانات بہادروں میں منسلک ہیں، { اور } . ایکشن بیانات اکثر معمول تفویض، مشروط، اور زیادہ زبانوں میں پایا لوپنگ کے بیانات پر مشتمل ہے. آپریٹرز، کنٹرول کے بیانات، اور ان پٹ / آؤٹ پٹ بیانات دستیاب ہیں جن میں سی کے بعد نمونے ہوتے ہیں.

آپریٹرز

اے ایف کے میں آپریٹرز، پہلے کی کمی کو کم کرنے کے لئے ہیں

( ... )

گروپ

$

فیلڈ ریفرنس

++ -

اضافے اور پوسٹاسکس دونوں میں اضافہ اور کمی.

^

Exponentiation ( ** استعمال کیا جا سکتا ہے، اور *** = تفویض آپریٹر کے لئے).

+ -!

یونیری پلس، غیر معمولی مائنس، اور منطقی نفاذ.

* /٪

ضرب، تقسیم، اور ماڈیولس.

+ -

اضافی اور ذلت

جگہ

سٹرنگ کنکشن

<>

<=> =

! = == باقاعدگی سے متعلق متعلق آپریٹرز.

~ ~ ~

باقاعدگی سے اظہار میچ، منفی میچ. نوٹ: بائیں ہاتھ کی طرف سے ~ یا ~ ~ مسلسل باقاعدہ اظہار ( / foo / ) کا استعمال نہ کریں. صرف دائیں طرف کی طرف سے ایک کا استعمال کریں. اظہار / foo / ~ کے اخراجات اسی معنی کے طور پر (($ 0 ~ / foo /) ~ ہوسکتی ہے ) . یہ عام طور پر نہیں ہے جو مقصد تھا.

اندر

ای میل کی رکنیت

&&

منطقی اور.

||

منطقی یا.

؟

سی مشروط اظہار. اس کے پاس فارم expr1 ہے ؟ expr2 : expr3 . اگر expr1 سچ ہے تو، اظہار کی قیمت expr2 ہے ، دوسری صورت میں یہ expr3 ہے . expr2 اور expr3 میں سے ایک کا اندازہ کیا جاتا ہے.

= + = - =

* = / =٪ = ^ تعینات. دونوں مطلق تفویض ( var = قدر ) اور آپریٹر تفویض (دوسرے فارم) کی حمایت کی جاتی ہے.

کنٹرول بیانات

کنٹرول بیانات مندرجہ ذیل ہیں:

اگر یہ ایرر برقرار رہے تو ہمارے ہیلپ ڈیسک سے رابطہ کریں. غلط استعمال رپورٹ نہیں کیا جا سکا. ایک یا زیادہ ایرر آ گئے ہیں. براہ مہربانی ایرر پیغام سے نشان زدہ فیلڈز کو ٹھیک کریں . وہ معلومات لازمی ہیں جن کے ساتھ * کی علامت ہے . تصویر عمومی غلط استعمال کی اطلاع دیں ای میل * وجہ * ہراساں کرنا جعلی تشدد نسل پرستی بیانات }

I / O بیانات

ان پٹ / آؤٹ پٹ بیانات مندرجہ ذیل ہیں:

قریبی ( فائل [ ، کس طرح ] )

فائل، پائپ یا سہ عمل کو بند کریں. اختیاری کو صرف ایک ہی پرو عمل میں دو طرفہ پائپ کا ایک اختتام ختم کرنا کب استعمال کرنا چاہئے. یہ " تار " یا "سے" کرنے کے لئے ایک تار قدر ہونا ضروری ہے.

getline

اگلے ان پٹ ریکارڈ سے $ 0 مقرر کریں؛ سیٹ این ایف ، این آر ، ایف این آر .

getline < فائل

اگلے ریکارڈ فائل سے $ 0 مقرر کریں؛ این ایف سیٹ کریں

getline var

اگلے ان پٹ ریکارڈ سے وی سیٹ کریں؛ سیٹ این آر ، ایف این آر .

getline var < فائل

فائل کے اگلے ریکارڈ سے ویئر مقرر کریں.

کمانڈ | getline [ var ]

چلائیں کمانڈ یا تو $ 0 یا var میں ، پیداوار کے طور پر اوپر پائپنگ.

کمانڈ | اور getline [ var ]

چلائیں کمانڈ کے طور پر ایک سہ عمل کے طور پر پیداوار یا تو $ 0 یا var میں ، اوپر کے طور پر پائپنگ. سہ عمل ایک گاک توسیع ہے.

اگلے

موجودہ ان پٹ ریکارڈ پر عملدرآمد بند کرو. اگلے ان پٹ ریکارڈ کو پڑھا جاتا ہے اور اے وی کے پروگرام میں پہلا پیٹرن کے ساتھ شروع ہوتا ہے. اگر ان پٹ کے اعداد و شمار تک پہنچ جاتی ہے تو، END بلاک (ے)، اگر کوئی بھی، پھانسی دی جاتی ہے.

اگلے فائل

موجودہ ان پٹ فائل پر عملدرآمد بند کرو. اگلا ان پٹ ریکارڈ اگلے ان پٹ فائل سے پڑتا ہے. FILENAME اور ARGIND کو اپ ڈیٹ کر دیا گیا ہے، ایف این آر 1 پر ری سیٹ کیا گیا ہے، اور پروسیسنگ اے بی کے پروگرام میں پہلی پیٹرن کے ساتھ شروع ہوتا ہے. اگر ان پٹ کے اعداد و شمار تک پہنچ جاتی ہے تو، END بلاک (ے)، اگر کوئی بھی، پھانسی دی جاتی ہے.

پرنٹ کریں

موجودہ ریکارڈ پرنٹ کرتا ہے. آؤٹ لک ریکارڈ ORS متغیر کی قیمت کے ساتھ ختم ہو گیا ہے.

سابقہ ​​فہرست پرنٹ کریں

پرنٹ اظہار ہر اظہار کو OFS متغیر کی قدر سے جدا کیا جاتا ہے. آؤٹ لک ریکارڈ ORS متغیر کی قیمت کے ساتھ ختم ہو گیا ہے.

سابقہ ​​فہرست پرنٹ کریں > فائل

فائل پر پرنٹ اظہار. ہر اظہار کو OFS متغیر کی قدر سے جدا کیا جاتا ہے. آؤٹ لک ریکارڈ ORS متغیر کی قیمت کے ساتھ ختم ہو گیا ہے.

پرنف ایف ایم ٹی، expr-list

شکل اور پرنٹ کریں.

printf fmt، expr-list > فائل

فائل پر شکل اور پرنٹ کریں .

نظام ( سینٹیڈی لائن )

کمانڈ سینٹیڈی لائن کو چالو کریں اور باہر نکلیں کی حیثیت کو واپس لیں. (یہ غیر POSIX کے نظام پر دستیاب نہیں ہوسکتا ہے.)

fflush ( [ فائل ] )

کھلی آؤٹ پٹ فائل یا پائپ فائل سے منسلک کسی بھی بفر کو پھینک دیں. اگر فائل غائب ہو تو، معیاری آؤٹ پٹ پھیل گئی ہے. اگر فائل نیل تار ہے، تو پھر تمام کھلی آؤٹ پٹ فائلوں اور پائپوں کو ان کے بفروں کو پھینک دیا گیا ہے.

پرنٹ اور پرنٹ کے لئے اضافی آؤٹ پٹ ریڈیائرشنز کو اجازت دی جاتی ہے.

پرنٹ ... >> فائل

فائل کو پیداوار میں ضم کرتا ہے .

پرنٹ ... | کمانڈر

پائپ پر لکھتا ہے.

پرنٹ ... | اور کمانڈ

ڈیٹا کو ایک پرو عمل میں بھیجتا ہے.

getline کمانڈ 0 کے آخر پر 0 اور ایک غلطی پر واپسی دیتا ہے. ایک غلطی پر، ERRNO میں ایک مسئلہ ہے جس کا مسئلہ بیان کرتا ہے.

نوٹ: اگر لائن لائن کے لئے پائپ یا سہ پروسیسنگ کا استعمال کرتے ہوئے، یا لوپ کے اندر پرنٹ یا پرنف سے استعمال کرتے ہیں، تو آپ کو کمانڈ کی نئی مثالات بنانے کے لئے قریبی () کا استعمال کرنا ہوگا . AWK خود کار طریقے سے پائپ یا سہ عمل کو بند نہیں کرتے جب وہ EOF واپس آتے ہیں.

پرنٹ بیان

پرنف کے بیان اور سپرنٹف () کے فنکشن کے بی بی کے ورژن (مندرجہ ذیل ملاحظہ کریں) مندرجہ بالا تبادلوں کی تفصیلات فارمیٹس قبول کرتے ہیں:

٪ c

ایک ASCII کردار. اگر سی کے لئے استعمال ہونے والی منطقی تعداد میں ہے، تو اسے ایک کردار کے طور پر علاج کیا جاتا ہے اور چھپی ہوئی ہے. دوسری صورت میں، دلیل ایک تار بننے کا فرض ہے، اور اس تار کا واحد پہلا کردار طباعت کیا جاتا ہے.

٪ d ، ٪ i

ایک بیزار نمبر (انکٹر حصہ).

٪ e،٪ E

فارم کی ایک سچل پوائنٹ نمبر [-] d.dddddde [+ -] dd . ٪ ای فارمیٹ ای کے بجائے ای شکل کا استعمال کرتا ہے.

٪ f

فارم کی ایک سچل نقطہ نمبر [-] ddd.dddddd .

٪جی جی

٪ e یا ٪ f تبادلوں کا استعمال، جو بھی چھوٹا ہے، غیر معمولی زروس کے ساتھ زور دیا. ٪ جی کی شکل ٪ e کے بجائے ٪ E کا استعمال کرتا ہے.

٪ o

ایک غیر مستحکم آکٹل نمبر (بھی ایک عدد).

آپ ایک غیر آئین شدہ ڈس کلیمر نمبر (دوبارہ، ایک مکمل).

٪ s

ایک کردار سٹرنگ.

٪ x،٪ X

ایک غیر مقفل ہیکڈاسیکائل نمبر (ایک عدد). ٪ X کی شکل abcdef کے بجائے ABCDEF کا استعمال کرتا ہے.

٪٪

ایک ٪ کردار؛ کوئی دلیل تبدیل نہیں ہے.

اختیاری، اضافی پیرامیٹرز ٪ اور کنٹرول خط کے درمیان جھوٹ بول سکتا ہے:

$ شمار

فارمیٹنگ میں اس نقطہ پر شمار کی دلیل کا استعمال کریں. یہ ایک مستقل عارضی طور پر کہا جاتا ہے اور بنیادی طور پر فارمیٹ ڈرائنگ کے ترجمہ شدہ ورژن میں استعمال کرنے کا ارادہ رکھتا ہے، نہ ہی اے بی کے پروگرام کے اصل متن میں. یہ ایک گاک توسیع ہے.

-

بیان کو اس کے میدان میں چھوڑ دیا جانا چاہئے.

جگہ

عددی تبادلوں کے لئے، ایک خلائی کے ساتھ پہلے سے ہی مثبت اقدار، اور منفی نشان کے ساتھ منفی اقدار.

+

چوڑائی ترمیم (نیچے ملاحظہ کریں) سے پہلے استعمال ہونے والے پلس، ہمیشہ عددی تبادلوں کے لئے ایک نشان فراہم کرنے کا کہنا ہے، یہاں تک کہ اگر اعداد و شمار کو فارمیٹ کیا جائے تو مثبت ہے. + خلائی ترمیم کو اوور کر دیتا ہے.

#

مخصوص کنٹرول حروف کے لئے `` متبادل فارم '' کا استعمال کریں. ٪ o کے لئے ، ایک صفر کی فراہمی. ٪ x ، اور ٪ X کے لئے، ایک غیرزرو نتیجہ کے لئے ایک 0x یا 0 ایکس کی فراہمی. ٪ e ، ٪ E ، اور ٪ f کے لئے ، نتیجہ ہمیشہ ایک ڈیجیٹل نقطہ پر مشتمل ہے. ٪ g ، اور ٪ G کے لئے ، صفر کی پیروی کرنے کے نتیجہ سے نہیں ہٹا دیا جاتا ہے.

0

ایک معروف 0 (صفر) ایک پرچم کے طور پر کام کرتا ہے، اس کی نشاندہی کرتا ہے کہ پیداوار کی جگہ بجائے ظہروں کے ساتھ پیداوار کو بولنا چاہئے. یہ غیر عددی پیداوار فارمیٹس پر بھی لاگو ہوتا ہے. اس پرچم میں صرف ایک اثر ہوتا ہے جب فیلڈ کی چوڑائی پرنٹ ہونے کی قیمت سے وسیع ہے.

چوڑائی

میدان کو اس چوڑائی پر بولا جانا چاہئے. میدان خالی جگہوں کے ساتھ عام طور پر بولا جاتا ہے. اگر 0 پرچم کا استعمال کیا جاتا ہے، تو اسے صفر کے ساتھ بولا جاتا ہے.

. ٹھیک ہے

ایک نمبر جو پرنٹنگ جب استعمال کرنے کی صحت سے متعلق کی وضاحت کرتا ہے. ٪ e ، ٪ E ، اور ٪ f فارمیٹس کے لئے، یہ آپ کو ہندسوں کی تعداد کی وضاحت کرتا ہے جو آپ چاہتے ہیں کہ ڈیشین پوائنٹ کے حق میں چھپی ہوئی ہے. ٪ g ، اور ٪ G فارمیٹس کے لئے، یہ زیادہ سے زیادہ اہم اشارے کی وضاحت کرتا ہے. ٪ d ، ٪ o ، ٪ i ، ٪ u ، ٪ x ، اور ٪ X فارمیٹس کے لئے، یہ پرنٹ کرنے کے لئے ہندسوں کی کم از کم تعداد کی وضاحت کرتا ہے. ٪ s کے لئے ، یہ اس سلسلے سے زیادہ سے زیادہ حروف کی وضاحت کرتا ہے جو پرنٹ کیا جاسکتا ہے.

این ایس ایس سی سی پرنف () معمول کی متحرک چوڑائی اور عدم صلاحیتوں کی حمایت کی جاتی ہے. A * چوڑائی یا سمت کی وضاحتوں کی جگہ پر ان کی قیمتوں کو پرنٹف یا سپرنٹف () کو دلیل کی فہرست سے لے جانے کی وجہ سے ہوتی ہے. متحرک چوڑائی یا صحت سے متعلق کے ساتھ ایک مستقل وقفے کار کا استعمال کرنے کے لئے * فارمیٹنگ سٹرنگ میں $ کے بعد شمار کریں . مثال کے طور پر، "٪ 3 $ * 2 $. * 1 $ s" .

خصوصی فائل نام

کسی فائل میں یا پرنٹ یا پرنف سے یا تو کسی بھی فائل میں، یا لائن لائن کے ذریعہ میں / O ریڈرائزیشن کروں گا، گاک اندرونی مخصوص مخصوص فائلوں کو تسلیم کرتا ہے. ان فائلوں کا نام گاک کی والدین کی پروسیسنگ (عام طور پر شیل) سے وراثت سے متعلق فائل کی تشریح کاروں کو رسائی حاصل کرنے کی اجازت دیتا ہے. یہ فائل نام بھی ڈیٹا فائلوں کو نام کرنے کے لئے کمان لائن پر استعمال کیا جا سکتا ہے. فائلوں کے نام ہیں:

/ dev / stdin

معیاری ان پٹ.

/ dev / stdout

معیاری پیداوار.

/ dev / stderr

معیاری غلطی پیداوار

/ dev / fd / n

کھلی فائل descriptor n کے ساتھ منسلک فائل.

یہ خامی پیغامات کے لئے خاص طور پر مفید ہیں. مثال کے طور پر:

پرنٹ "تم نے اسے دھماکا کیا!" > "/ dev / stderr"

جبکہ آپ کو دوسری صورت میں استعمال کرنا پڑے گا

پرنٹ "تم نے اسے دھماکا کیا!" | "بلی 1> اور 2"

ٹی سی پی / آئی پی نیٹ ورک کنکشن بنانے کے لئے مندرجہ ذیل خصوصی فائلوں کا نام | اور شریک عمل کے آپریٹر کے ساتھ استعمال کیا جا سکتا ہے.

/ inet / tcp / lport / rhost / rport

مقامی بندرگاہ پر ٹی سی پی / آئی پی کنکشن کے لئے فائل ریموٹ بندرگاہ پر ریموٹ میزبان روسٹ پر لیس . سسٹم کو بندرگاہ منتخب کرنے کیلئے 0 کے پورٹ کا استعمال کریں.

/ inet / udp / lport / rhost / rport

اسی طرح، لیکن TCP / IP کے بجائے UDP / IP استعمال کریں.

/ inet / raw / lport / rhost / rport

مستقبل کے استعمال کے لئے محفوظ ہے.

دیگر خصوصی فائلوں کے نام چلنے والے گاک عمل کے بارے میں معلومات تک رسائی فراہم کرتی ہے. یہ دائرہ کار اب غیر معمولی ہیں. معلومات فراہم کرنے کے لئے PROCINFO صف کا استعمال کریں. فائلوں کے نام ہیں:

/ dev / pid

اس فائل کو پڑھنا موجودہ عمل کے عمل کی شناخت کو مسترد کرتا ہے، جس میں ڈیڈ لائن میں ایک نئی لائن کے ساتھ ختم ہو جاتا ہے.

/ دیو / پی پیڈ

اس فائل کو پڑھنا موجودہ پروسیسنگ کی والدین کے عمل کی شناخت کو مسترد کرتا ہے، جس میں ڈیڈ لائن میں ایک نئی لائن کے ساتھ ختم ہو جاتا ہے.

/ dev / pgrpid

اس فائل کو پڑھنا موجودہ عمل کے پروسیسنگ گروپ کی شناخت کو واپس دیتا ہے، جس میں ڈیڈ لائن میں ایک نئی لائن کے ساتھ ختم ہو جاتا ہے.

/ دیو / صارف

اس فائل کو پڑھنا ایک نئی ریکارڈ کے ساتھ ختم شدہ ایک ریکارڈ ریکارڈ کرتا ہے. میدان خالی جگہوں سے الگ ہیں. $ 1 حاصل کرنے والا (2) سسٹم کال کی قدر ہے، $ 2 geteuid (2) نظام کال کی قدر ہے، $ 3 getgid (2) نظام کال کی قیمت ہے، اور $ 4 getegid (2) کی قیمت ہے. نظام کال. اگر کوئی اضافی شعبیں موجود ہیں تو وہ گروپس IDs جو گروپوں (2) کے ذریعہ واپس آئے ہیں. تمام سارے نظاموں پر متعدد گروہوں کی حمایت نہیں کی جا سکتی.

تعداد کام کرتا ہے

AWK مندرجہ ذیل بلٹ میں ریاضی کام کرتا ہے:

atan2 ( y ، x )

ریڈیوں میں ی / ایکس کے آرٹیکلنگ واپس آتی ہے.

کاسم ( expr )

expr کے جوزین واپس ، جو radians میں ہے.

نمائش ( expr )

فاسٹ فنکشن.

int ( expr )

مکمل طور پر ٹرانزٹ.

لاگ ان ( expr )

قدرتی لاگت کی تقریب.

رینڈ ()

0 اور 1 کے درمیان بے ترتیب نمبر واپس آتا ہے.

گناہ ( expr )

expr کے سائن واپس، جو radians میں ہے.

sqrt ( expr )

مربع جڑ فنکشن.

سرند ( [ expr ] )

بے ترتیب نمبر جنریٹر کے لئے ایک نئے بیج کے طور پر expr استعمال کرتا ہے. اگر کوئی expr فراہم نہیں کیا جاتا ہے تو، دن کا وقت استعمال کیا جاتا ہے. بے ترتیب تعداد جنریٹر کے لئے پچھلے بیج کی واپسی کی قیمت ہے.

سٹرنگ کام

گاک میں مندرجہ ذیل بلٹ میں سارے کام ہیں:

asort ( [ ، d ]

ذریعہ کی صف میں عناصر کی تعداد واپس لیتا ہے. کے عناصر کو اقدار کی موازنہ کرنے کے لئے گوک کے عام قوانین کا استعمال کرتے ہوئے ترتیب دیا جاتا ہے، اور اس کے ترتیب کردہ اقدار کے اشارے کو 1 سے شروع ہونے والی ترتیباتی اشارے کے ساتھ تبدیل کر دیا جاتا ہے. اگر اختیاری منزل کی شکل ڈی کی وضاحت کی جاتی ہے تو پھر سب سے پہلے ڈی میں نقل کیا جاتا ہے. ، اور پھر ڈی ترتیب دیا جاتا ہے، ذریعہ صف کے انڈیکس کو غیر تبدیل شدہ چھوڑ رہا ہے.

جینسب ( آر ، ایس ، ایچ [ ، ٹی ] )

باقاعدہ اظہار کے میلوں کے لئے ہدف سٹرنگ ٹی تلاش کریں. اگر ایچ جی یا G کے ساتھ شروع ہونے والی ایک تار ہے تو پھر اس کے ساتھ آر کے تمام میچز کی جگہ لے لو. دوسری صورت میں، ایک نمبر ہے جس کی نشاندہی کی جاتی ہے جس کی جگہ ر اگر ٹی فراہم نہیں کی جاتی ہے تو اس کے بجائے $ 0 استعمال کیا جاتا ہے. متبادل متن کے اندر اندر، ترتیب \ n ، جہاں 1 ن 9 سے نچوڑ ہے، صرف اس متن کی نشاندہی کرنے کے لئے استعمال کیا جا سکتا ہے جس میں ن کے پیرس سے متعلق ضمنی ایپلی کیشن مل گئی ہے. ترتیب \ 0 پورے ملٹی متن کی نمائندگی کرتی ہے، جیسا کہ کردار اور . ذیلی () اور Gsub () کے برعکس، ترمیم شدہ سٹرنگ تقریب کے نتیجے میں واپس آ گیا ہے، اور اصل ہدف سٹرنگ تبدیل نہیں کیا جاتا ہے.

GSub ( r ، s [ ، t ] )

سٹرنگ ٹی میں باقاعدگی سے اظہار آر سے مماثل ہر سب سٹرنگ کے لئے ، سٹرنگ ایس کا متبادل، اور متبادل کی تعداد کو واپس. اگر ٹی کی فراہمی نہیں ہے تو، $ 0 کا استعمال کریں. ایک اور متبادل متن میں متن کے ساتھ تبدیل کیا گیا ہے جو اصل میں ملا تھا. استعمال کریں \ & literal حاصل کرنے کے لئے & . (اس کے طور پر ٹائپ ہونا ضروری ہے "\\ &" ؛ دیکھیں GAWK: ذیلی () ، GSUB () اور Gensub () کے متبادل متن میں & کے اور بیک اپلیشس کے قوانین کی مکمل بحث کے لئے مؤثر AWK پروگرامنگ .)

انڈیکس ( ٹی ، ٹی )

سٹرنگ ٹی ، یا 0 میں ٹی ٹی کے انڈیکس کو واپس دیتا ہے اگر ٹی موجود نہیں ہے. (اس کا مطلب یہ ہے کہ کردار کے اشارے ایک میں شروع ہوتے ہیں.)

لمبائی ( [ ے ]

اگر اس کی فراہمی نہیں کی جاتی تو سٹرنگ کی لمبائی یا $ 0 کی لمبائی واپس لی جاتی ہے.

میچ ( s ، r [ ، a ] )

اس جگہ کی حیثیت کو واپس دیتا ہے جہاں باقاعدہ اظہار آر ہوتا ہے، یا 0 اگر موجود نہیں ہے، اور RSTART اور RLGGG کے اقدار کو مقرر کرتا ہے. نوٹ کریں کہ دلائل آرڈر ~ آپریٹر کے لئے اسی طرح ہے. اگر ایک صف فراہم کی جاتی ہے تو ایک صاف ہو جاتا ہے اور پھر عناصر 1 کے ذریعے ن کے حصوں سے بھرا ہوا ہوتا ہے جو اسی پیرس میں اسی پیراگراف شدہ ذیلی پریشر سے ملتا ہے. اس میں 1'' عنصر '' کا حصہ ہے جسے پورے باقاعدگی سے بیان کیا جاتا ہے.

تقسیم ( ایک ، ایک [ ، ر ] )

سٹرنگ ایس باقاعدگی سے اظہار آر پر ایک صف میں تقسیم کرتا ہے، اور شعبوں کی تعداد کو واپس دیتا ہے. اگر آر لٹکا ہوا ہے تو، اس کے بجائے ایف ایس استعمال کیا جاتا ہے. سب سے پہلے صاف کر دیا گیا ہے. تقسیم کیا گیا ہے، اوپر بیان کردہ میدان میں تقسیم کرنے کے لئے الگ الگ سلوک ہوتا ہے.

سپرنٹف ( ایف ایم ٹی ، سابقہ ​​فہرست )

ایف ایم ٹی کے مطابق expr-list پرنٹ، اور نتیجے میں تار واپس.

سٹرمم ( str )

تحقیقات str ، اور اس کی عددی قدر واپس. اگر ایک اہم 0 کے ساتھ شروع ہوتا ہے تو strtonum () فرض کرتا ہے کہ str ایک اوکٹال نمبر ہے. اگر str ایک اہم 0x یا 0X کے ساتھ شروع ہوتا ہے تو، strtonum () فرض کرتا ہے کہ str ایک ہییکسڈیکائل نمبر ہے.

ذیلی ( r ، s [ ، t ] )

بس جیب () کی طرح، لیکن صرف پہلا ملاپ ذیلی تبدیل کرنے کی جگہ ہے.

substr ( s ، i [ ، n ] )

i میں شروع ہونے والے سب سے زیادہ این قسم کی ذائقہ. اگر این لپیٹ دیا جاتا ہے تو باقی کا استعمال کیا جاتا ہے.

ٹاورز ( str )

سٹرنگ str کی ایک نقل، سب سے اوپر کیس کے حروف کے ساتھ ان کے متعلقہ کم کیس کے ہم منصبوں میں strugg میں ترجمہ. غیر حروف تہجی حروف غیر تبدیل شدہ ہیں.

ٹھوپر ( str )

سٹرنگ str کی ایک کاپی، تمام لوٹ-کیس کے حروف کے ساتھ ان کے متعلقہ اوپری کیس کے ہم منصبوں میں ترجمہ میں ترجمہ کرتا ہے. غیر حروف تہجی حروف غیر تبدیل شدہ ہیں.

وقت کی افعال

چونکہ AWK پروگراموں کے بنیادی استعمال میں سے ایک لاگ ان فائلوں کی پروسیسنگ کر رہا ہے جس میں وقت سٹیمپ معلومات شامل ہے، گاک وقت ٹائمز حاصل کرنے اور انہیں فارمیٹ کرنے کے لئے مندرجہ ذیل کام کرتا ہے.

mktime ( datespec )

Rurns DatePec ایک ہی شکل میں ایک ہی شکل میں بیک اپ کی طرف سے واپس (کے طور پر ) . تاریخپیک فارم YYYY MM DD HH MM SS [DST] کی ایک شکل ہے . سٹرنگ کے مواد چھ یا سات نمبر ہیں جس میں سری لنکا سمیت پورے سال، 1 سے 12 ماہ، 1 سے 31 کے دن، 0 سے 23 دن کے دن، 0 سے منٹ 59، اور دوسرا 0 سے 60، اور اختیاری دن کی روشنی کی بچت پرچم. ان نمبروں کی قیمتوں کی وضاحت کی حدوں کے اندر نہیں ہونا چاہئے؛ مثال کے طور پر، آدھی رات سے ایک گھنٹہ ایک گھنٹے کا مطلب ہے. اصل صفر جارجیا کیلنڈر فرض کیا جاتا ہے، 1 سال سے پہلے 1 سال اور 1 سال سے قبل 1 سال 0. اس وقت مقامی ٹائم زون میں ہونے کا فرض ہوتا ہے. اگر دن کی لائٹ بچت پرچم مثبت ہے، تو وقت کا وقت دن کی لائٹ بچت کا وقت ہوتا ہے؛ اگر صفر، وقت معیاری وقت کا فرض کیا جاتا ہے؛ اور اگر منفی (پہلے سے طے شدہ)، مٹیمیم () کا تعین کرنے کی کوشش کی گئی ہے کہ آیا دن کی لائٹ کی بچت کا وقت مخصوص وقت کے لئے اثر میں ہوتا ہے. اگر تاریخپیک کافی عناصر پر مشتمل نہیں ہے یا اگر نتیجے کا وقت رینج سے باہر ہے تو، Mktime () Returns -1.

طوفان ( [ فارمیٹ [ ٹائمسٹیمپ ]] )

شکل میں تفصیلات کے مطابق ترتیبات ٹائمسٹیمپ . ٹائمسٹیمپ ایک ہی شکل میں ہونا چاہئے جیسا کہ سیسٹم کے ذریعہ واپس آیا ہے. اگر ٹائمسٹیمپپ غائب ہو تو، موجودہ وقت کا استعمال کیا جاتا ہے. اگر فارمیٹ غائب ہو تو، تاریخ کے آؤٹ پٹ کے برابر ایک ڈیفالٹ فارمیٹ (1) استعمال کیا جاتا ہے. ANSI C میں اسٹیٹمنٹ کے تبادلے کیلئے دستیابی () تقریب کے لئے تفصیلات ملاحظہ کریں جو دستیاب ہونے کی ضمانت دی جاتی ہے. جنگ کے عوامی ڈومین ورژن (3) اور اس کے لئے ایک آدمی کا صفحہ گاک کے ساتھ آتا ہے. اگر یہ ورژن گاک تعمیر کرنے کے لئے استعمال کیا جاتا تھا، تو اس آدمی کے صفحے میں بیان کردہ تمام تبادلے گاک میں دستیاب ہیں .

سیسٹم ()

ایشو (1970-01-01 00:00:00 UTC POSIX کے نظام پر) کے بعد سے سیکنڈ کی موجودہ تعداد کے طور پر دن کی موجودہ وقت واپس کرتا ہے.

بٹ مینجمنٹ کام کرتا ہے

گاک کے ورژن 3.1 کے ساتھ شروع، مندرجہ بالا تھوڑا ہی ہیراپیشن افعال دستیاب ہیں. وہ دوہری سمت فلوٹ پوائنٹس اقدار غیر منظم شدہ لمبے انتروں کو تبدیل کرتے ہوئے، آپریشن کر رہے ہیں، اور پھر نتیجے میں واپس چلنے والے نقطہ کو تبدیل کرتے ہیں. افعال ہیں:

اور ( V1 ، V2 )

تھوڑا سا اور V1 اور V2 کی طرف سے فراہم کی قیمتوں میں واپس لو.

شکایت ( ویل )

تھوڑا سا والو کی مکمل واپسی واپس.

lshift ( ویل ، شمار )

شمار کی بٹس کی طرف سے ویل کی قیمت واپس لے لیئے .

یا ( V1 ، V2 )

V1 اور V2 کے ذریعہ فراہم کردہ اقدار کے تھوڑا سا یا واپس لو.

rshift ( ویل ، شمار )

شمار کی بٹس کی طرف سے ویل کی قیمت کو منتقل کر دیں .

xor ( v1 ، v2 )

v1 اور v2 کے ذریعہ فراہم کردہ اقدار کے تھوڑا سا XOR واپس لو.

بین الاقوامی کاری کے کام

گاک کے ورژن 3.1 کے ساتھ شروع، آپ کے AWK پروگرام کے اندر سے چلانے کے وقت میں تار ترجمہ کرنے کے لئے مندرجہ ذیل افعال استعمال کیے جا سکتے ہیں. مکمل تفصیلات کے لئے، دیکھیں گاک: مؤثر AWK پروگرامنگ .

بینڈ ٹیکڈومین ( ڈائرکٹری [ ، ڈومین ] )

ڈائرکٹری کی وضاحت کرتا ہے جہاں ڈائریکٹر GA .mo فائلوں کے لئے نظر آتا ہے، اگر وہ '`معیاری' 'جگہوں میں نہیں رکھا جاسکتا (جیسے، ٹیسٹ کے دوران). یہ ڈائرکٹری واپس آتا ہے جہاں ڈومین `` پابند ہے ''

ڈیفالٹ ڈومین TEXTDOMAIN کی قدر ہے. اگر ڈائرکٹری نال سٹرنگ ( "" ) ہے تو، بینڈ ٹیکسٹ مین () کو دیئے گئے ڈومین کے لئے موجودہ پابندیاں واپس آتی ہے .

dcgettext ( تار [ ، ڈومین [ ، زمرہ ]] )

مقامی قسم کے زمرہ کے لئے متن ڈومین ڈومین میں تار کا ترجمہ واپس. ڈومین کیلئے ڈیفالٹ قیمت TEXTDOMAIN کی موجودہ قیمت ہے. زمرہ کیلئے ڈیفالٹ قدر "LC_MESSAGES" ہے .

اگر آپ زمرہ کے لئے ایک قیمت فراہم کرتے ہیں تو، یہ GAWK میں بیان کردہ معروف علاقائی شعبوں میں سے ایک کے برابر ہونا ضروری ہے : مؤثر AWK پروگرامنگ . آپ کو ٹیکسٹ ڈومین بھی فراہم کرنا ہوگا. اگر آپ موجودہ ڈومین استعمال کرنا چاہتے ہیں تو TEXTDOMAIN کا استعمال کریں.

dcngettext ( string1 ، string2 ، نمبر [ ، ڈومین [ ، زمرہ ]] )

لوکل قسم کے زمرے کے لئے متن ڈومین ڈومین میں string1 اور string2 کے ترجمہ کی تعداد کے لئے استعمال کردہ جمع کردہ فارم کو لوٹاتا ہے. ڈومین کیلئے ڈیفالٹ قیمت TEXTDOMAIN کی موجودہ قیمت ہے. زمرہ کیلئے ڈیفالٹ قدر "LC_MESSAGES" ہے .

اگر آپ زمرہ کے لئے ایک قیمت فراہم کرتے ہیں تو، یہ GAWK میں بیان کردہ معروف علاقائی شعبوں میں سے ایک کے برابر ہونا ضروری ہے : مؤثر AWK پروگرامنگ . آپ کو ٹیکسٹ ڈومین بھی فراہم کرنا ہوگا. اگر آپ موجودہ ڈومین استعمال کرنا چاہتے ہیں تو TEXTDOMAIN کا استعمال کریں.

USER-DEVELOPED FUNCTIONS

AWK میں کام ذیل میں بیان کی گئی ہے:

فنکشن کا نام ( پیرامیٹرز کی فہرست ) { بیانات }

جب وہ کسی بھی پیٹرن یا اعمال میں اظہار کے اندر سے کہا جاتا ہے تو افعال پھانسی دی جاتی ہیں. تقریب میں اعلان کردہ رسمی پیرامیٹرز کو انفیکشن کرنے کے لئے فنکشن کال میں فراہم کردہ اصل پیرامیٹرز کا استعمال کیا جاتا ہے. گرفتاری سے حوالہ جات منظور کئے جاتے ہیں، دیگر متغیرات کی قدر سے گزر جاتی ہے.

چونکہ افعال اصل میں AWK کی زبان کا حصہ نہیں تھے، مقامی متغیر کے لئے فراہمی بجائے نسبتا ہے: وہ پیرامیٹر کی فہرست میں اضافی پیرامیٹرز کے طور پر اعلان کی جاتی ہیں. کنونشن مقامی پیرامیٹرز سے پیرامیٹرز کی فہرست میں اضافی خالی جگہوں سے جدا کرنا ہے. مثال کے طور پر:

فنکشن f (p، q، a، b) # a اور b مقامی ہیں ... ... / abc / {...؛ f (1، 2)؛ ...}

بائیں پیرس میں ایک فنکشن کال کرنے کی ضرورت ہوتی ہے، بغیر کسی مداخلت سفید جگہ کے بغیر فیملی کا نام فورا. یہ کنٹیٹینشن آپریٹر کے ساتھ ایک مصنوعی الجھن سے بچنے کے لئے ہے. اس پابندی کے اوپر مندرجہ بالا بلٹ ان افعال میں لاگو نہیں ہوتا.

افعال ایک دوسرے کو فون کرسکتے ہیں اور دوبارہ پڑھ سکتے ہیں. مقامی متغیر کے طور پر استعمال ہونے والے فنکشن کے پیرامیٹرز فنکشن کی انضمام کے بعد نول سٹرنگ اور صفر نمبر پر ابتداء میں شروع ہوتے ہیں.

ایک فنکشن سے ایک قیمت واپس کرنے کے لئے واپسی expr استعمال کریں. واپسی کی قدر غیر منقول ہے اگر کوئی قیمت فراہم نہیں کی گئی ہے، یا اگر تقریب `` گرنے آف 'کی طرف سے واپسی ہے.

اگر - ایل ایل کو فراہم کیا گیا ہے تو، گرو نے پیرس وقت پر غیر معمولی کاموں کے بارے میں خبردار کیا، بجائے اس وقت بجائے. رن ٹائم میں ایک غیر فعال شدہ تقریب کالنگ ایک مہلک غلطی ہے.

لفظ کی تفریح تقریب کی جگہ پر استعمال کیا جا سکتا ہے .

نیشنل طور پر نیا کام شروع

گاک کے ورژن 3.1 کے ساتھ شروع ہوسکتا ہے، آپ کو متحرک طور پر نئے بلٹ ان افعال کو چلانے والے گرو کے مترجم کو شامل کر سکتے ہیں. مکمل تفصیلات اس دستی صفحے کے دائرہ کار سے باہر ہیں؛ GAWK ملاحظہ کریں: تفصیلات کے لئے مؤثر AWK پروگرامنگ .

توسیع ( اعتراض ، تقریب )

مشترکہ آبجیکٹ فائل کو اعتراض کے ذریعہ نام سے منسلک کرتے ہیں اور ابتدائی طور پر انجام دینے کے لئے، اس اعتراض میں تقریب کو مدعو کرتے ہیں. یہ دونوں کو تار کے طور پر فراہم کیا جانا چاہئے. تقریب کی طرف سے واپس قیمت واپس.

مؤثر AWK پروگرامنگ میں یہ فنکشن فراہم کی گئی ہے اور دستاویز میں درج کی گئی ہے، لیکن اس خصوصیت کے بارے میں سب کچھ اگلا رہائی میں تبدیل ہوجاتا ہے. ہم مضبوطی سے مشورہ دیتے ہیں کہ آپ اس خصوصیت کو اس چیز کا استعمال نہ کریں جو آپ دوبارہ دوبارہ تیار کرنے کے لئے تیار نہیں ہیں.

سگنل

پیگو دو سگنل قبول کرتا ہے. SIGUSR1 پروفائل پروفائل پر پروفائل اور فنکشن کال اسٹیک ڈمپ کرنے کا سبب بناتا ہے، جو یا تو awkprof.out ہے ، یا پروپیلٹ آپشن کے ساتھ جو بھی فائل نامزد کیا گیا ہے. اس کے بعد چل رہا ہے. صیون کا سبب بنتا ہے کہ یہ پروفائل اور فنکشن کال اسٹیک ڈمپ اور پھر نکلیں.

مثال

تمام صارفین کے لاگ ان کے نام پرنٹ اور ترتیب دیں: BEGIN {FS = ":"}} {پرنٹ $ 1 | "ترتیب"} ایک فائل میں لائنوں کی گنتی کریں: {nlines ++} END {print nlines} فائل میں اس نمبر کے ذریعہ ہر لائن کو آگے کریں: {پرنٹ ایف این آر، $ 0} کنٹیٹیٹ اور لائن نمبر (موضوع پر ایک تبدیلی): {پرنٹ NR، $ 0}

اندرونییشن

سٹرنگ ڈھانچے ڈبل حوالوں میں منسلک حروف کے سلسلے میں ہیں. غیر انگریزی بولنے والے ماحول میں، AWK پروگرام میں تار کے نشانوں کو نشان زد کرنا ممکن ہے جیسے کہ مقامی زبان میں ترجمہ کی ضرورت ہوتی ہے. اس طرح کے تار AWK پروگرام میں ایک معروف underscore (`` _ '') کے ساتھ نشان لگا دیا گیا ہے. مثال کے طور پر،

گوک 'BEGIN {پرنٹ "ہیلو، دنیا"}'

ہمیشہ پرنٹ ہیلو، دنیا . لیکن،

گوک 'BEGIN {پرن _ "ہیلو، دنیا"}'

شاید بونجور پرنٹ کریں، فرانس میں مینڈو .

مقامی دستیاب AWK پروگرام تیار کرنے اور چلانے میں ملوث کئی اقدامات ہیں.

1.

اپنے پروگرام کے ساتھ منسلک ایک نام پر ٹیکسٹ ڈومین کو مقرر کرنے کیلئے TEXTDOMAIN متغیر کو ایک تفویض دینے کیلئے BEGIN کارروائی شامل کریں.


BEGIN {TEXTDOMAIN = "myprog"}

یہ گرو آپ کے پروگرام سے متعلق .mo فائل کو تلاش کرنے کی اجازت دیتا ہے. اس مرحلے کے بغیر، گاک پیغاماتی ٹیکسٹ ڈومین کا استعمال کرتا ہے، جو ممکنہ طور پر آپ کے پروگرام کے ترجمہ میں شامل نہیں ہوتا ہے.

2.

تمام سوراخوں کو نشان زد کریں جو مشرق وسطی کے ساتھ ترجمہ کرنا چاہئے.

3.

اگر ضرورت ہو تو، مناسب طور پر آپ کے پروگرام میں ڈی سی گیٹس (اور) یا / یا باند ٹیکڈومین () افعال استعمال کریں.

4.

آپ کے پروگرام کے لئے ایک PO فائل پیدا کرنے کے لئے myprog.po --gen-run-gawk-gen-po-my mygg.awk .

5.

مناسب ترجمہ فراہم کریں، اور اسی .mo فائل کی تعمیر اور انسٹال کریں.

مؤثر AWK پروگرامنگ: GAWK میں مکمل تفصیل میں بین الاقوامی کاری کی خصوصیات بیان کی گئی ہیں.

Posix مطابقت

گاک کے لئے ایک بنیادی مقصد POSIX معیار کے ساتھ ساتھ UNIX awk کے تازہ ترین ورژن کے ساتھ مطابقت رکھتا ہے. اس اختتام کے لئے، گاک مندرجہ ذیل صارف کو نمایاں خصوصیات میں شامل کرتا ہے جو AWK کی کتاب میں بیان نہیں کیا جاتا ہے، لیکن آبی کے بیل لیبارٹریز ورژن کا حصہ ہیں، اور POSIX معیار میں ہیں.

کتاب یہ بتاتی ہے کہ کمانڈ لائن متغیر تفویض ہوتا ہے جب خوفناک طور پر ایک فائل کے طور پر دلیل کو کھولیں گے، جو BEGIN بلاک کے بعد ہے. تاہم، پہلے نافذ کرنے والے اداروں میں جب کسی فائل کو نام کے نام سے پہلے پیش کیا جاتا ہے تو، BEGIN بلاک کو چلانے سے قبل تفویض ہو گی. ایپلی کیشن اس `` خصوصیت پر منحصر ہونے کے لئے آئے تھے. '' جب اس دستاویزات سے ملنے کے لۓ خوف تبدیل ہوگیا، -v پروگرام پر عملدرآمد سے قبل متغیر تفویض کرنے کا اختیار ایپلی کیشنز کو ایڈجسٹ کرنے میں شامل کیا گیا جو پرانے رویے پر منحصر تھا. (یہ خصوصیت بیل لیبارٹریز اور GNU ڈویلپرز دونوں پر اتفاق کیا گیا تھا.)

عمل درآمد کی مخصوص خصوصیات کے لئے ڈبلیو اختیار POSIX معیار سے ہے.

پروسیسنگ کے دلائل کرتے وقت، گاک دلیلوں کے اختتام پر اشارہ کرنے کے لئے خاص اختیار `` - '' استعمال کرتا ہے. مطابقت کے موڈ میں، اس کے بارے میں خبردار ہے لیکن دوسری صورت میں غیر ترتیب شدہ اختیارات کو نظر انداز کر دیتا ہے. معمولی آپریشن میں، اس طرح کے آرکائیو کو عمل کرنے کے لئے AWK پروگرام پر گزر چکا ہے.

AWK کتاب srand کی واپسی کی قیمت کی وضاحت نہیں کرتا ہے. POSIX معیاری نے بیج کو واپس لے کر اسے واپس لے لیا ہے، بے ترتیب نمبر کے اندازوں کو ٹریک رکھنے کی اجازت دینے کے لئے. لہذا گرو میں srand ( بھی اس کے موجودہ بیج واپس.

دیگر نئی خصوصیات ہیں: ایک سے زیادہ ایف کے اختیارات (MKS خوف سے ) کا استعمال؛ ENVIRON سرنی؛ \ a ، اور \ v فرار کے سلسلے (اصل میں گاک میں کیا گیا ہے اور بیل لیبارٹریز ورژن میں واپس کھلایا)؛ ٹاورز () اور ٹپپر () بلٹ ان افعال (بیل لیبارٹریز ورژن سے)؛ اور printf میں ANSI C تبادلوں کی وضاحتیں (بیل لیبارٹریز ورژن میں سب سے پہلے کیا جاتا ہے).

تاریخی خصوصیات

تاریخی AWK کے دو منصوبوں کی دو خصوصیات ہیں جن کی حمایت کرتا ہے. سب سے پہلے، یہ ممکن ہے کہ لمبائی () بلٹ میں کام نہ صرف اس کے ساتھ کوئی دلیل کے ساتھ کال کریں، لیکن اس کے بغیر بھی پیروکاروں کے بغیر! اس طرح،

ایک = لمبائی # مقدس الگول 60، بیٹ مین!

ایک یا زیادہ ایرر آ گئے ہیں

ایک = لمبائی ()
ایک = لمبائی ($ 0)

یہ خصوصیت POSIX معیاری میں `` بدنام '' کے طور پر نشان لگا دیا گیا ہے، اور گوک کمانڈ لائن پر متعین ہے تو اس کے استعمال کے بارے میں ایک انتباہ کا سامنا ہے.

دوسری خصوصیت کسی بھی وقت کے جسم سے باہر جاری رکھنے یا وقفے بیانات کا استعمال ہے ، یا لوپ کرتے ہیں . روایتی AWK کے نفاذ نے اگلے بیان کے مطابق اس طرح کے استعمال کا علاج کیا ہے. اگر یہ ایرر برقرار رہے تو ہمارے ہیلپ ڈیسک سے رابطہ کریں. غلط استعمال رپورٹ نہیں کیا جا سکا .

GNU توسیع

گاک کے پاس POSIX آک کو بہت زیادہ ملتی ہے. انہیں اس سیکشن میں بیان کیا گیا ہے. یہاں بیان کردہ تمام توسیع - عبوری اختیار کے ساتھ گاک کو مدعو کرکے معذور کیا جا سکتا ہے.

POSIX آک میں گاک کی مندرجہ ذیل خصوصیات دستیاب نہیں ہیں.

*

ایف کے ذریعہ نامزد کردہ فائلوں کے لئے کوئی راہ تلاش نہیں کیا جاتا ہے. لہذا AWKPATH ماحول متغیر خاص نہیں ہے.

*

\ X فرار ترتیب. (غیر فعال شدہ --کسکس .)

*

fflush () تقریب. (غیر فعال شدہ --کسکس .)

*

کے بعد لائنوں کو جاری رکھنے کی صلاحیت ؟ اور :. (غیر فعال شدہ --کسکس .)

*

AWK کے پروگراموں میں آکسیال اور ہییکسڈاسکمل کمانڈر.

*

آرگنڈ ، بائنڈو ، ERRNO ، LINT ، RT اور TEXTDOMAIN متغیرات خاص نہیں ہیں.

*

آئی جی این ای سی سی سی متغیر اور اس کے ضمنی اثرات دستیاب نہیں ہیں.

*

فیلڈ ڈیوڈس متغیر اور فکسڈ چوڑائی میدان تقسیم.

*

PROCINFO صف دستیاب نہیں ہے.

*

باقاعدگی سے اظہار کے طور پر RS کا استعمال.

*

I / O ری ڈائریکٹری کے لئے دستیاب خصوصی فائل کا نام تسلیم نہیں کیا جاتا ہے.

*

شریک عملوں کو بنانے کے لئے | اور آپریٹر.

*

انفرادی کرداروں کو تقسیم کرنے کی صلاحیت کے طور پر نول تار کا استعمال کرتے ہوئے ایف ایس کی قیمت کے طور پر، اور تیسرے دلیل کے طور پر تقسیم کرنے کے لئے.

*

قریبی () تقریب میں اختیاری دوسرا دلیل.

*

میچ ( اختیاری ) تقریب میں اختیاری تیسری دلیل.

*

پرنف اور سپرنٹف () کے ساتھ عارضی تفصیلات کا استعمال کرنے کی صلاحیت.

*

ایک صف کے تمام مواد کو حذف کرنے کے لئے خارج کرنے کی صف کا استعمال.

*

موجودہ ان پٹ فائل کی پروسیسنگ کو ترک کرنے کے لئے اگلے فیلائل کا استعمال.

*

اور () ، ایسٹر () ، بینڈ ٹیکڈومین () ، شکایت () ، ڈی سی گیٹس () ، جینسب () ، لشفٹ () ، مٹیمیم () ، یا () ، رٹفٹ () ، بازی () ، سٹرمم () () اور xor () کام کرتا ہے.

*

Localizable ڈور.

*

توسیع () تقریب کے ساتھ متحرک طور پر نئے بلٹ ان افعال کو شامل کرنا.

AWK کی کتاب قریب کی واپسی کی قیمت کی وضاحت نہیں کرتا () فنکشن. گاک کی قریبی () کے نتیجے میں ایک آؤٹ پٹ فائل یا پائپ بند ہونے کے بعد، فورس (3) سے قیمت واپس آتی ہے، یا افسوس (3). ان پٹ پائپ کو بند کرنے پر عمل کی خارجی حیثیت واپس آتی ہے. واپسی کی قیمت -1 ہے اگر نامزد فائل، پائپ یا سہ عمل کو دوبارہ بحال نہیں کیا گیا تھا.

جب گاک کو --traditional اختیار کے ساتھ منسلک کیا جاتا ہے تو، اگر ایف ایف کے اختیار میں ` F ' کا دلیل ہے تو، پھر ایف ایس ٹیب کے کردار پر مقرر کیا جاتا ہے. نوٹ کریں کہ ٹائپنگ گاک-ایف \ t ... صرف شیل کو `` t، '' '' کا حوالہ دیتا ہے، اور ایف کے اختیار پر `` \ t '' کو منتقل نہیں کرتا ہے. چونکہ یہ بدقسمتی سے خصوصی کیس ہے، یہ ڈیفالٹ رویے نہیں ہے. اگر یہ ایرر برقرار رہے تو ہمارے ہیلپ ڈیسک سے رابطہ کریں. غلط استعمال کی اطلاع دیتے ہوئے ایرر آ گیا ہے. فیلڈ الگٹر کے طور پر واقعی ٹیب کے کردار کو حاصل کرنے کے لئے، یہ ایک سنگل کوٹ استعمال کرنے کا بہترین ہے: گاک-ایف '\ t' ....

دوسرے حکموں کو دیکھیں : انتظار کرو ، ایل پی ، مکمل ، پھانسی ، ملفیل ، ioctl ، uniq ، rodod ، pvcreate ، rsh ، unix2dos ، کیل ، ایف ایس ، سی ڈی ، iwpriv ، swapon ، autofs ، بات ، موڈ ، مفت ، LPR ، execl ، fdisk ، جس میں ، iwconfig ، ifconfig ، vgdisplay ، کھولیں ، lsmod ، ntohs ، mailq ، مار ، wtmp