gawk - عبر الإنترنت في السحابة

هذا هو أمر gawk الذي يمكن تشغيله في مزود الاستضافة المجانية OnWorks باستخدام إحدى محطات العمل المجانية المتعددة على الإنترنت مثل Ubuntu Online أو Fedora Online أو محاكي Windows عبر الإنترنت أو محاكي MAC OS عبر الإنترنت

برنامج:

اسم


gawk - مسح النمط ولغة المعالجة

موجز


البله [خيارات نمط POSIX أو GNU] -f ملف البرنامج [ -- ] ملف ...
البله [خيارات نمط POSIX أو GNU] [ -- ] نص البرنامج ملف ...

الوصف


البله هو تنفيذ مشروع جنو للغة برمجة AWK. يتوافق مع
تعريف اللغة في معيار POSIX 1003.1. هذا الإصدار بدوره
بناءً على الوصف في تشير AWK برمجة وتطوير اللغة بواسطة Aho و Kernighan و
وينبرجر. البله يوفر الميزات الإضافية الموجودة في الإصدار الحالي من Brian
كيرنيغان AWK وعدد من الامتدادات الخاصة بجنو.

يتكون سطر الأوامر من خيارات البله نفسه ، نص برنامج AWK (إذا لم يتم توفيره
عبر -f or --ملف الخيارات) ، والقيم التي ستتم إتاحتها في ملف ARGC ARGV قبل
تعريف متغيرات AWK.

متى البله مع --الملف الشخصي الخيار ، فإنه يبدأ في جمع إحصاءات التنميط
من تنفيذ البرنامج. البله يعمل بشكل أبطأ في هذا الوضع ، وبشكل تلقائي
ينتج ملف تعريف التنفيذ في الملف awkprof.out عند الانتهاء. انظر --الملف الشخصي
الخيار أدناه.

البله يحتوي أيضًا على مصحح أخطاء متكامل. يمكن أن تبدأ جلسة تصحيح الأخطاء التفاعلية بواسطة
توريد --Debug خيار لسطر الأوامر. في طريقة التنفيذ هذه ، البله الأحمال
كود المصدر AWK ثم يطالب بأوامر التصحيح. البله يمكن فقط تصحيح AWK
مصدر البرنامج المزود بامتداد -f اختيار. تم توثيق مصحح الأخطاء بتنسيق البله: الطُرق الفعّالة
AWK برمجة وتطوير.

OPTION FORMAT


البله قد تكون الخيارات إما خيارات حرف واحد تقليدية بنمط POSIX ، أو طويلة بنمط GNU
والخيارات. تبدأ خيارات POSIX بحرف "-" واحد ، بينما تبدأ الخيارات الطويلة بـ "-". طويل
يتم توفير الخيارات لكل من الميزات الخاصة بـ GNU وللميزات التي يفرضها POSIX.

البله- يتم استخدام خيارات محددة عادةً في شكل خيار طويل. الحجج لخيارات طويلة
يتم ضمها إما مع الخيار بواسطة ملف = علامة ، مع عدم وجود مسافات متداخلة ، أو قد تكون كذلك
المقدمة في وسيطة سطر الأوامر التالية. قد يتم اختصار الخيارات الطويلة ، طالما
يظل الاختصار فريدًا.

بالإضافة إلى ذلك ، يحتوي كل خيار طويل على خيار قصير مقابل ، بحيث يكون الخيار
يمكن استخدام الوظيفة من الداخل #! البرامج النصية القابلة للتنفيذ.

OPTIONS


البله يقبل الخيارات التالية. يتم سرد الخيارات القياسية أولاً ، متبوعةً بـ
خيارات البله ملحقات مدرجة أبجديا بخيار قصير.

-f ملف البرنامج
--ملف ملف البرنامج
اقرأ مصدر برنامج AWK من الملف ملف البرنامج، بدلا من الأول
حجة سطر الأوامر. عديد -f (أو --ملف) يمكن استخدام الخيارات.

-F fs
- فاصل الحقل fs
استعمل fs لفاصل حقل الإدخال (قيمة ملف FS متغير محدد مسبقًا).

-v فار=فال
--تعيين فار=فال
قم بتعيين القيمة فال إلى المتغير فار، قبل أن يبدأ تنفيذ البرنامج.
هذه القيم المتغيرة متاحة ل ابدأ حكم برنامج AWK.

-b
--أحرف مثل بايت
معالجة جميع بيانات الإدخال كأحرف أحادية البايت. بمعنى آخر ، لا تدفع أي شيء
الانتباه إلى المعلومات المحلية عند محاولة معالجة السلاسل على أنها multibyte
الشخصيات. ال - المزيج الخيار يتجاوز هذا واحد.

-c
--التقليديين
تشغيل التوافق الوضع. في وضع التوافق ، البله يتصرف بشكل مماثل ل
بريان كيرنيغان AWK؛ لا يتم التعرف على أي من الامتدادات الخاصة بجنو. ارى جنو
إمتدادأدناه للحصول على مزيد من المعلومات.

-C
--حقوق النشر
اطبع النسخة القصيرة لرسالة معلومات حقوق النشر الخاصة بـ GNU على المعيار
الإخراج والخروج بنجاح.

-d[ملف]
- متغيرات التفريغ[=ملف]
اطبع قائمة مرتبة بالمتغيرات العامة وأنواعها وقيمها النهائية ملف. إذا
لا ملف متوفر، البله يستخدم ملف اسمه awkvars.out في الدليل الحالي.
يعد وجود قائمة بجميع المتغيرات العامة طريقة جيدة للبحث عن المطبعية
أخطاء في برامجك. يمكنك أيضًا استخدام هذا الخيار إذا كان لديك ملف
برنامج يحتوي على الكثير من الوظائف ، وتريد أن تتأكد من أن وظائفك لا تفعل ذلك
استخدم عن غير قصد المتغيرات العالمية التي كنت تقصدها لتكون محلية. (هذا ال
من السهل جدًا ارتكابها باستخدام أسماء متغيرات بسيطة مثل i, j، وما إلى ذلك وهلم جرا.)

-D[ملف]
--Debug[=ملف]
تفعيل تصحيح أخطاء برامج AWK. بشكل افتراضي ، يقرأ مصحح الأخطاء الأوامر
بشكل تفاعلي من لوحة المفاتيح (الإدخال القياسي). اختياري ملف حجة
يحدد ملفًا بقائمة أوامر لمصحح الأخطاء لتنفيذ غير
بشكل تفاعلي.

-e نص البرنامج
--مصدر نص البرنامج
استعمل نص البرنامج كرمز مصدر لبرنامج AWK. هذا الخيار يسمح بسهولة
اختلاط وظائف المكتبة (المستخدمة عبر ملف -f --ملف خيارات) مع المصدر
تم إدخال رمز في سطر الأوامر. الغرض منه هو في المقام الأول AWK المتوسطة إلى الكبيرة
البرامج المستخدمة في نصوص الشل.

-E ملف
--تكس ملف
على غرار -f، ومع ذلك ، هذا هو الخيار الأخير الذي تمت معالجته. هذا ينبغي أن يكون
يستعمل مع #! البرامج النصية ، خاصة لتطبيقات CGI ، لتجنب تمرير ملفات
خيارات أو شفرة المصدر (!) في سطر الأوامر من URL. يتم تعطيل هذا الخيار
تعيينات متغير سطر الأوامر.

-g
- جن وعاء
مسح وتحليل برنامج AWK ، وإنشاء GNU .وعاء (قالب كائن محمول)
ملف بتنسيق على الإخراج القياسي بإدخالات لجميع السلاسل القابلة للترجمة بتنسيق
برنامج. لم يتم تنفيذ البرنامج نفسه. انظر GNU gettext توزيع ل
مزيد من المعلومات حول .وعاء الملفات.

-h
--مساعدة اطبع ملخصًا قصيرًا نسبيًا للخيارات المتاحة في الإخراج القياسي.
(لكل جنو البرمجة المعايير، فإن هذه الخيارات تؤدي إلى خروج فوري وناجح.)

-i تضمين ملف
--يشمل تضمين ملف
تحميل مكتبة مصدر awk. هذا يبحث عن المكتبة باستخدام امتداد أوكباث
متغيرات البيئة. إذا فشل البحث الأولي ، فسيتم إجراء محاولة أخرى
بعد إلحاق ملف .awk لاحقة. سيتم تحميل الملف مرة واحدة فقط (على سبيل المثال ،
يتم حذف التكرارات) ، ولا تشكل الكود البرنامج الرئيسي
مصدر.

-l ليب
--حمل ليب
تحميل مكتبة مشتركة ليب. هذا يبحث عن المكتبة باستخدام امتداد أوكليب باث
متغيرات البيئة. إذا فشل البحث الأولي ، فسيتم إجراء محاولة أخرى
بعد إلحاق لاحقة المكتبة المشتركة الافتراضية للنظام الأساسي. المكتبة
من المتوقع تسمية روتين التهيئة dl_load ().

-L [قيمنا]
- لينت[=قيمنا]
تقديم تحذيرات حول التركيبات المشكوك فيها أو غير المحمولة إلى AWK الأخرى
تطبيقات. مع وسيطة اختيارية مميت، تصبح تحذيرات النسالة قاتلة
أخطاء. قد يكون هذا جذريًا ، لكن استخدامه سيشجع بالتأكيد التطوير
من برامج AWK الأنظف. مع وسيطة اختيارية غير صالحة، فقط تحذيرات حول
يتم إصدار الأشياء غير الصالحة بالفعل. (لم يتم تنفيذ هذا بالكامل بعد.)

-M
- العظمة
فرض دقة حسابية عشوائية على الأرقام. هذا الخيار ليس له أي تأثير إذا البله
لم يتم تجميعها لاستخدام مكتبات GNU MPFR و MP.

-n
- البيانات غير العشرية
التعرف على القيم الثماني والسداسي عشر في بيانات الإدخال. استعمل خيار مع عظيم
حذر!

-N
--استخدام- lc- رقمي
هذه القوات البله لاستخدام حرف الفاصلة العشرية للإعدادات المحلية عند تحليل الإدخال
البيانات. على الرغم من أن معيار POSIX يتطلب هذا السلوك ، و البله عندما يفعل ذلك
- المزيج في الواقع ، الافتراضي هو اتباع السلوك التقليدي واستخدام
النقطة باعتبارها العلامة العشرية ، حتى في المناطق التي لا تكون فيها النقطة هي العلامة العشرية
حرف النقطة. يتجاوز هذا الخيار السلوك الافتراضي ، بدون كامل
الصارمة الصارمة لـ - المزيج الخيار.

-o[ملف]
- طباعة جميلة[=ملف]
إخراج نسخة مطبوعة جميلة من البرنامج إلى ملف. إذا كان الجواب لا ملف متوفر،
البله يستخدم ملف اسمه awkprof.out في الدليل الحالي.

-O
- الأمثل
تمكين التحسينات على التمثيل الداخلي للبرنامج. حاليا،
يتضمن هذا الطي الثابت البسيط ، وإلغاء استدعاء الذيل للتكرار
المهام. ال البله يأمل المشرف في إضافة تحسينات إضافية بمرور الوقت.

-p[ملف الأستاذ]
--الملف الشخصي[=ملف الأستاذ]
ابدأ جلسة تعريف ، وأرسل بيانات التوصيف إلى ملف الأستاذ. الافتراضي
is awkprof.out. يحتوي ملف التعريف على عدد عمليات التنفيذ لكل عبارة في ملف
البرنامج في الهامش الأيسر وحساب استدعاء الوظيفة لكل وظيفة محددة من قبل المستخدم.

-P
- المزيج
هذا يتحول التوافق الوضع ، مع القيود الإضافية التالية:

· \x لم يتم التعرف على تسلسل الهروب.

· فقط الفضاء وعلامة التبويب تعمل كفاصل للمجال عندما FS تم تعيينه على مساحة واحدة ،
newline لا.

· لا يمكنك متابعة الخطوط بعد ? :.

· المرادف ظائفها للكلمة الرئيسية وظيفة غير معترف بها.

· المشغلون ** ** = لا يمكن استخدامها بدلا من ^ ^=.

-r
- فاصل زمني
تمكين استخدام الفاصلة التعبيرات في مطابقة التعبير العادي (انظر منتظم
التعبيرات، أدناه). لم تكن التعبيرات الفاصلة متاحة تقليديًا في ملف
لغة AWK. أضافها معيار POSIX لعملها AWK com.egrep بما يتفق مع
بعضهم البعض. يتم تمكينها افتراضيًا ، ولكن يظل هذا الخيار للاستخدام مع
--التقليديين.

-S
- ساندبوكس
أشواط البله في وضع الحماية ، مما يؤدي إلى تعطيل النظام() وظيفة ، مع إعادة توجيه الإدخال
الحصول على خط، مع إعادة توجيه الإخراج طباعة printf، وتحميل الامتدادات الديناميكية.
يتم أيضًا تعطيل تنفيذ الأوامر (عبر خطوط الأنابيب). هذا يمنع بشكل فعال
البرنامج النصي من الوصول إلى الموارد المحلية (باستثناء الملفات المحددة في
سطر الأوامر).

-t
- لينت
قدم تحذيرات حول التركيبات غير المحمولة إلى الإصدار الأصلي من
UNIX AWK.

-V
--الإصدار
معلومات النسخة المطبوعة لهذه النسخة المعينة من البله على الإخراج القياسي.
هذا مفيد بشكل أساسي لمعرفة ما إذا كانت النسخة الحالية من البله على نظامك
حتى الآن فيما يتعلق بكل ما توزعه مؤسسة البرمجيات الحرة.
هذا مفيد أيضًا عند الإبلاغ عن الأخطاء. (لكل جنو البرمجة المعايير، هذه
الخيارات تؤدي إلى خروج فوري وناجح.)

-- أشر بنهاية الخيارات. هذا مفيد للسماح بمزيد من الحجج لـ AWK
البرنامج نفسه ليبدأ بـ "-". هذا يوفر الاتساق مع الحجة
اصطلاح الاعراب الذي تستخدمه معظم برامج POSIX الأخرى.

في وضع التوافق ، يتم وضع علامة على أي خيارات أخرى على أنها غير صالحة ، لكنها تكون بخلاف ذلك
تجاهله. في التشغيل العادي ، طالما تم توفير نص البرنامج ، فإن الخيارات غير معروفة
يتم تمريرها إلى برنامج AWK في ARGV مجموعة للمعالجة. هذا بشكل خاص
مفيد لتشغيل برامج AWK عبر "#!" آلية المترجم القابل للتنفيذ.

من أجل التوافق مع POSIX ، فإن ملف -W يمكن استخدام خيار ، متبوعًا باسم خيار طويل.

AWK PROGRAM إعدام


يتكون برنامج AWK من سلسلة من عبارات نمط العمل والوظيفة الاختيارية
تعريفات.

@يشمل "اسم الملف"
@حمل "اسم الملف"
النمط { عمل البيانات }
وظيفة الاسم(المعلمة الإدارية) { البيانات }

البله يقرأ أولاً مصدر البرنامج من ملف البرنامج(ق) إذا تم تحديدها ، من الحجج
إلى --مصدر، أو من الوسيطة الأولى غير الاختيارية في سطر الأوامر. ال -f
--مصدر يمكن استخدام الخيارات عدة مرات في سطر الأوامر. البله يقرأ البرنامج
نص كما لو كان كل ملف ملف البرنامجتم تسلسل النصوص المصدر وسطر الأوامر
سويا. هذا مفيد لبناء مكتبات وظائف AWK ، دون الحاجة إلى ذلك
تضمينهم في كل برنامج AWK جديد يستخدمهم. كما يوفر القدرة على الاختلاط
وظائف المكتبة مع برامج سطر الأوامر.

بالإضافة إلى ذلك ، الخطوط التي تبدأ ب @يشمل يمكن استخدامها لتضمين ملفات المصدر الأخرى في
برنامجك ، مما يجعل استخدام المكتبة أسهل. هذا يعادل استخدام -i الخيار.

الخطوط التي تبدأ بـ @حمل يمكن استخدامها لتحميل المكتبات المشتركة في برنامجك. هذه
يعادل استخدام -l الخيار.

متغير البيئة أوكباث يحدد مسار البحث لاستخدامه عند البحث عن ملفات المصدر
المسمى ب -f -i والخيارات. في حالة عدم وجود هذا المتغير ، يكون المسار الافتراضي هو
".: / usr / local / share / awk". (قد يختلف الدليل الفعلي ، اعتمادًا على كيفية القيام بذلك البله وكان
تم بناؤه وتثبيته.) إذا تم إعطاء اسم ملف لملف -f يحتوي الخيار على حرف "/" ، لا
يتم تنفيذ البحث عن المسار.

متغير البيئة أوكليب باث يحدد مسار البحث لاستخدامه عند البحث عن المصدر
الملفات المسماة بامتداد -l اختيار. في حالة عدم وجود هذا المتغير ، يكون المسار الافتراضي هو
"/ usr / local / lib / gawk". (قد يختلف الدليل الفعلي ، اعتمادًا على كيفية القيام بذلك البله بني
ومثبتة.)

البله ينفذ برامج AWK بالترتيب التالي. أولاً ، كل التخصيصات المتغيرة
المحدد عبر -v يتم تنفيذ الخيار. التالي، البله يجمع البرنامج في ملف
شكل داخلي. ثم، البله ينفذ الكود في ابدأ القاعدة (القواعد) (إن وجدت) ، ثم
تستمر في قراءة كل ملف اسمه في ARGV مجموعة (تصل إلى ARGV [ARGC]). إذا لم يكن هناك
الملفات المسماة في سطر الأوامر ، البله يقرأ المدخلات القياسية.

إذا كان اسم الملف في سطر الأوامر يحتوي على النموذج فار=فال يتم التعامل معها كمتغير
مهمة. المتغير فار سيتم تعيين القيمة فال. (هذا يحدث بعد أي
ابدأ تم تشغيل القاعدة (القواعد).) يعد تعيين متغير سطر الأوامر أكثر فائدة له
التعيين الديناميكي للقيم للمتغيرات التي يستخدمها AWK للتحكم في كيفية تقسيم المدخلات
الحقول والسجلات. من المفيد أيضًا التحكم في الحالة إذا كانت هناك حاجة إلى العديد من التمريرات
عبر ملف بيانات واحد.

إذا كانت قيمة عنصر معين من ARGV فارغ (""), البله يتخطى ذلك.

لكل ملف إدخال ، إذا كان ملف ملف البداية القاعدة موجودة ، البله ينفذ الكود المرتبط من قبل
معالجة محتويات الملف. بصورة مماثلة، البله ينفذ الكود المرتبط بـ
نهاية بعد معالجة الملف.

لكل سجل في الإدخال ، البله اختبارات لمعرفة ما إذا كانت تتطابق مع أي منها النمط في AWK
برنامج. لكل نمط يطابقه السجل ، البله ينفذ المرتبطة عمل.
يتم اختبار الأنماط بالترتيب الذي تحدث به في البرنامج.

أخيرًا ، بعد استنفاد كل المدخلات ، البله ينفذ الكود في END القاعدة (القواعد) (إذا
أي).

أمر خط الدلائل
وفقًا لـ POSIX ، فإن الملفات المسماة على امتداد AWK يجب أن يكون سطر الأوامر ملفات نصية. السلوك
هو `` غير محدد '' إذا لم يكن كذلك. معظم إصدارات AWK التعامل مع دليل على الأمر
خط كخطأ فادح.

بدءًا من الإصدار 4.0 من البله، دليل على سطر الأوامر يعطي تحذيرًا ، ولكن
يتم تخطي خلاف ذلك. إذا كان أي من - المزيج or --التقليديين يتم إعطاء الخيارات ، إذن
البله يعود إلى معاملة الدلائل الموجودة في سطر الأوامر على أنها خطأ فادح.

المتغيرات، RECORDS لأي لبس مجال


متغيرات AWK ديناميكية. تظهر إلى حيز الوجود عند استخدامها لأول مرة. هم
القيم إما أن تكون أرقامًا ذات فاصلة عائمة أو سلاسل ، أو كليهما ، اعتمادًا على كيفية وجودها
تستخدم. يحتوي AWK أيضًا على مصفوفات ذات بعد واحد ؛ قد تكون المصفوفات ذات الأبعاد المتعددة
مقلد. البله يوفر مصفوفات حقيقية من المصفوفات ؛ ارى المصفوفات، أدناه. عدة محددة مسبقا
يتم تعيين المتغيرات أثناء تشغيل البرنامج ؛ يتم وصفها حسب الحاجة وملخصة أدناه.

تسجيل
عادة ، يتم فصل السجلات بأحرف سطر جديد. يمكنك التحكم في كيفية السجلات
مفصولة بتعيين قيم للمتغير الداخلي RS. إذا RS هو أي حرف واحد ،
تلك الشخصية تفصل بين السجلات. خلاف ذلك، RS هو تعبير عادي. نص في
الإدخال الذي يطابق هذا التعبير العادي يفصل بين السجل. ومع ذلك، في
وضع التوافق ، يتم استخدام الحرف الأول فقط من قيمة السلسلة الخاصة به للفصل
السجلات. لو RS تم تعيينه على سلسلة فارغة ، ثم يتم فصل السجلات بأسطر فارغة.
متى RS يتم تعيينه على سلسلة فارغة ، يعمل حرف السطر الجديد دائمًا كفاصل حقل ،
بالإضافة إلى أي قيمة FS قد يملك.

مجال
كما تتم قراءة كل سجل إدخال ، البله يقسم السجل إلى الحقول، باستخدام قيمة
FS متغير كفاصل المجال. لو FS هو حرف واحد ، يتم فصل الحقول بواسطة
تلك الشخصية. لو FS هي السلسلة الفارغة ، ثم يصبح كل حرف منفردًا
مجال منفصل. خلاف ذلك، FS من المتوقع أن يكون تعبيرًا عاديًا كاملاً. في ال
حالة خاصة FS عبارة عن مسافة واحدة ، يتم فصل الحقول بواسطة مسافات و / أو علامات تبويب
و / أو الأسطر الجديدة. (لكن انظر القسم POSIX التوافق، أدناه). ملحوظة: قيمة ال
تجاهل (انظر أدناه) يؤثر أيضًا على كيفية تقسيم الحقول متى FS هو تعبير عادي ،
وكيف يتم فصل السجلات متى RS هو تعبير عادي.

إذا كان عرض الحقول يتم تعيين المتغير على قائمة أرقام مفصولة بمسافة ، يتم تعيين كل حقل
من المتوقع أن يكون عرضه ثابتًا ، و البله يقسم السجل باستخدام العروض المحددة.
قيمة FS تم تجاهله. تعيين قيمة جديدة ل FS or FPAT يلغي استخدام
عرض الحقول.

وبالمثل ، إذا كان FPAT يتم تعيين المتغير على سلسلة تمثل تعبيرًا عاديًا ، كل منها
يتكون الحقل من نص يطابق ذلك التعبير العادي. في هذه الحالة العادية
يصف التعبير الحقول نفسها ، بدلاً من النص الذي يفصل بين الحقول.
تعيين قيمة جديدة ل FS or عرض الحقول يلغي استخدام FPAT.

يمكن الإشارة إلى كل حقل في سجل الإدخال من خلال موقعه: $1, $2، وهلم جرا. $0
هو السجل كله. لا يلزم الإشارة إلى الحقول بالثوابت:

n = 5
طباعة $n

يطبع الحقل الخامس في سجل الإدخال.

المتغير NF إلى العدد الإجمالي للحقول في سجل الإدخال.

مراجع لحقول غير موجودة (على سبيل المثال ، الحقول بعد NF دولار) إنتاج سلسلة فارغة.
ومع ذلك ، فإن التخصيص لحقل غير موجود (على سبيل المثال ، $ (NF + 2) = 5) يزيد من قيمة NF,
ينشئ أي حقول متداخلة مع سلسلة فارغة كقيم لها ، ويتسبب في القيمة
of $0 ليتم إعادة حسابها ، مع فصل الحقول بقيمة OFS. المراجع
إلى الحقول المرقمة السالبة يتسبب في حدوث خطأ فادح. تراجعي NF يسبب قيم
الحقول التي تتجاوز القيمة الجديدة المراد فقدها ، وقيمة $0 ليتم إعادة حسابها ، مع
يتم فصل الحقول بقيمة OFS.

يؤدي تعيين قيمة إلى حقل موجود إلى إعادة بناء السجل بالكامل عند حدوث ذلك $0 is
المشار إليها. وبالمثل ، فإن إسناد قيمة إلى $0 يتسبب في إعادة تقسيم السجل ، مما يؤدي إلى إنشائه
قيم جديدة للحقول.

مدمج المتغيرات
البلهالمتغيرات المضمنة هي:

ARGC عدد وسيطات سطر الأوامر (لا يشمل خيارات البله، أو
مصدر البرنامج).

أرجند الفهرس بتنسيق ARGV من الملف الحالي قيد المعالجة.

ARGV صفيف من وسيطات سطر الأوامر. يتم فهرسة المصفوفة من 0 إلى ARGC - 1.
ديناميكي تغيير محتويات ARGV يمكن التحكم في الملفات المستخدمة للبيانات.

بينمود في الأنظمة غير POSIX ، يحدد استخدام الوضع "الثنائي" لكل ملف الإدخال / الإخراج.
تحدد القيم الرقمية 1 أو 2 أو 3 ملفات الإدخال أو الملفات المخرجة أو جميعها
يجب أن تستخدم الملفات ، على التوالي ، إدخال / إخراج ثنائي. قيم السلسلة "ص"الطرق أو "w"
تحديد أن ملفات الإدخال ، أو ملفات الإخراج ، على التوالي ، يجب أن تستخدم ثنائي
I / O. قيم السلسلة "rw" or "wr" تحديد أن جميع الملفات يجب أن تستخدم الملف الثنائي
I / O. يتم التعامل مع أي قيمة سلسلة أخرى على أنها "rw"، ولكن يولد تحذيرًا
رسالة.

كونففمت تنسيق التحويل للأرقام ، "٪ .6g"، بشكل افتراضي.

البيئة مصفوفة تحتوي على قيم البيئة الحالية. المصفوفة
مفهرسة بمتغيرات البيئة ، كل عنصر هو قيمة ذلك
متغير (على سبيل المثال ، البيئة ["المنزل"] قد يكون "/ home / arnold"). تغيير هذه المجموعة
لا يؤثر على البيئة التي تراها البرامج التي البله يفرز عبر
إعادة التوجيه أو النظام() وظيفة.

خطأ في حالة حدوث خطأ في النظام ، إما أن تقوم بإعادة توجيه لـ الحصول على خط، أثناء القراءة
For الحصول على خط، أو خلال أغلق()، ثم خطأ سيحتوي على سلسلة تصف
الخطأ. القيمة خاضعة للترجمة إلى لغات غير الإنجليزية.

عرض الحقول قائمة عروض الحقول مفصولة بمسافات بيضاء. عند التعيين ، البله يوزع المدخلات
في حقول ذات عرض ثابت ، بدلاً من استخدام قيمة FS متغير مثل
فاصل المجال. ارى مجال، في الاعلى.

اسم الملف اسم ملف الإدخال الحالي. إذا لم يتم تحديد ملفات في الأمر
الخط قيمة اسم الملف يكون "-". لكن، اسم الملف غير معرف داخل
ابدأ القاعدة (ما لم يحددها الحصول على خط).

FNR رقم سجل الإدخال في ملف الإدخال الحالي.

FPAT تعبير عادي يصف محتويات الحقول في سجل. متي
جلس، البله يوزع المدخلات في الحقول ، حيث تتطابق الحقول مع المعتاد
التعبير ، بدلاً من استخدام قيمة FS متغير مثل المجال
فاصل. ارى مجال، في الاعلى.

FS فاصل حقل الإدخال ، هو مسافة افتراضيًا. ارى مجال، في الاعلى.

فنكتاب المصفوفة التي تمثل المؤشرات والقيم المقابلة أسماء جميع المستخدمين-
وظائف محددة أو تمديد في البرنامج. ملحوظة: لا يجوز لك استخدام ملف
حذف بيان مع فنكتاب مجموعة مصفوفة.

تجاهل يتحكم في حساسية حالة الأحرف لجميع عمليات التعبير العادي والسلسلة.
If تجاهل قيمة غير صفرية ، ثم مقارنات ونمط سلسلة
مطابقة في القواعد ، وتقسيم المجال مع FS FPAT، سجل فاصل مع
RS، تعبير عادي مطابق مع ~ !~، و جينسوب (), gsub (),
فهرس(), مباراة(), باتسبليت (), ينقسم()و الفرعية() جميع الوظائف المضمنة تتجاهل
الحالة عند إجراء عمليات التعبير العادي. ملحوظة: تسجيل الصفيف هو
ليس متأثر. ومع ذلك ، فإن asort () أسورتي () تتأثر الوظائف.
وهكذا ، إذا تجاهل لا يساوي الصفر / أ ب / يطابق كل السلاسل
"أب", "أب", "أب"و "AB". كما هو الحال مع جميع متغيرات AWK ، فإن القيمة الأولية لـ
تجاهل تساوي صفرًا ، لذا فإن جميع عمليات التعبيرات النمطية والسلسلة
عادة حساسة لحالة الأحرف.

لينت يوفر تحكمًا ديناميكيًا في - لينت الخيار من داخل برنامج AWK.
عندما يكون صحيحًا ، البله يطبع تحذيرات النسالة. عندما تكون خاطئة ، فهي لا تفعل ذلك. عند التعيين
قيمة السلسلة "قاتلة - مهلك"، تحذيرات الوبر تصبح أخطاء فادحة ، تمامًا مثل
- لينت = قاتل. أي قيمة حقيقية أخرى تطبع فقط التحذيرات.

NF عدد الحقول في سجل الإدخال الحالي.

NR العدد الإجمالي لسجلات الإدخال التي تمت مشاهدتها حتى الآن.

OFMT تنسيق الإخراج للأرقام ، "٪ .6g"، بشكل افتراضي.

OFS فاصل حقل الإخراج ، هو مسافة افتراضيًا.

ORS فاصل سجل الإخراج ، بشكل افتراضي سطر جديد.

بريك دقة العمل لأرقام الفاصلة العائمة ذات الدقة التعسفية ، 53 ×
افتراضي.

بروسينفو توفر عناصر هذه المجموعة الوصول إلى معلومات حول AWK قيد التشغيل
برنامج. في بعض الأنظمة ، قد تكون هناك عناصر في المصفوفة ، "مجموعة 1"
من خلال "مجموعةn" بالنسبة للبعض n، وهو عدد المجموعات التكميلية التي
هذه العملية. استخدم ال in عامل لاختبار هذه العناصر. ال
العناصر التالية مضمونة لتكون متوفرة:

PROCINFO ["egid"] قيمة انطلق(2) استدعاء النظام.

PROCINFO ["strftime"]
سلسلة تنسيق الوقت الافتراضية لـ strftime ().

PROCINFO ["euid"] قيمة com.geteuid(2) استدعاء النظام.

PROCINFO ["FS"] "خ م" إذا كان المجال ينقسم FS ساري المفعول ، "FPAT" if
تقسيم المجال مع FPAT سارية المفعول ، أو "FIELDWIDTHS"
إذا كان المجال ينقسم عرض الحقول ساري المفعول.

PROCINFO ["المعرفات"]
مصفوفة فرعية مفهرسة بأسماء كافة المعرفات المستخدمة
في نص برنامج AWK. تشير القيم إلى ماذا
البله يعرف عن المعرفات بعد انتهائه
تحليل البرنامج هم انهم ليس تم التحديث في حين أن
يعمل البرنامج. لكل معرف ، قيمة
العنصر هو أحد العناصر التالية:

"مجموعة مصفوفة"
المعرف هو مصفوفة.

"مدمج"
المعرف هو وظيفة مضمنة.

"تمديد"
المعرف هو وظيفة امتداد يتم تحميلها عبر
@حمل or -l.

"العددية"
المعرف عددي.

"غير مطبوع"
المعرف غير مطبوع (يمكن استخدامه كملف
عددي أو مجموعة البله لا تعرف حتى الآن).

"المستعمل" المعرف هو وظيفة محددة من قبل المستخدم.

PROCINFO ["gid"] قيمة جتيد(2) استدعاء النظام.

PROCINFO ["pgrpid"] معرف مجموعة العملية للعملية الحالية.

PROCINFO ["pid"] معرف العملية للعملية الحالية.

PROCINFO ["ppid"] معرف العملية الأصل للعملية الحالية.

PROCINFO ["uid"] قيمة Getuid(2) استدعاء النظام.

PROCINFO ["Sorted_in"]
إذا كان هذا العنصر موجودًا في بروسينفوثم قيمتها
يتحكم في الترتيب الذي يتم به اجتياز عناصر المصفوفة
in For الحلقات. القيم المدعومة هي "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 ["الإدخال" ، "إنتهى وقت القراءة"]
المهلة بالمللي ثانية لقراءة البيانات من إدخال,
أين إدخال عبارة عن سلسلة إعادة توجيه أو اسم ملف. قيمة
من صفر أو أقل من الصفر يعني عدم وجود مهلة.

PROCINFO ["mpfr_version"]
تم استخدام إصدار مكتبة GNU MPFR للتحويل العشوائي
دعم رقم الدقة في البله. هذا الدخول ليس كذلك
موجود إذا لم يتم تجميع دعم MPFR في البله.

PROCINFO ["gmp_version"]
إصدار مكتبة GNU MP المستخدم بشكل تعسفي
دعم رقم الدقة في البله. هذا الدخول ليس كذلك
موجود إذا لم يتم تجميع دعم MPFR في البله.

PROCINFO ["prec_max"]
الدقة القصوى التي تدعمها مكتبة GNU MPFR
لأرقام الفاصلة العائمة ذات الدقة التعسفية. هذه
الإدخال غير موجود إذا لم يتم تجميع دعم MPFR في
البله.

PROCINFO ["prec_min"]
الحد الأدنى من الدقة الذي تسمح به مكتبة GNU MPFR لـ
دقة تعسفية أرقام الفاصلة العائمة. هذا الدخول هو
غير موجود إذا لم يتم تجميع دعم MPFR في البله.

PROCINFO ["api_major"]
الإصدار الرئيسي من امتداد API. هذا الدخول ليس كذلك
موجود في حالة عدم توفر تحميل الامتدادات الديناميكية.

PROCINFO ["api_minor"]
النسخة الثانوية من امتداد API. هذا الدخول ليس كذلك
موجود في حالة عدم توفر تحميل الامتدادات الديناميكية.

PROCINFO ["الإصدار"] إصدار البله.

الوضع الدائري وضع التقريب المراد استخدامه لحساب الدقة التعسفي على الأرقام ، بواسطة
الافتراضي "ن" (IEEE-754 roundTiesToEven mode). القيم المقبولة هي "ن" or
"ن" لل roundTiesToE حتى ، "U" or "أنت" للجولة نحو إيجابي ، "D" or "د" For
roundToward سلبي ، "Z" or "ض" لـ roundTowardZero ، وإذا كان الإصدار الخاص بك من
تدعمها مكتبة GNU MPFR ، "ا" or "A" لـ roundTiesToAway.

RS فاصل سجل الإدخال ، سطر جديد افتراضيًا.

RT فاصل السجل. البله بدلات رسمية RT إلى نص الإدخال المطابق لـ
حرف أو تعبير عادي محدد بواسطة RS.

رستارت فهرس الحرف الأول المطابق له مباراة()؛ 0 إذا لم يكن هناك تطابق. (هذه
يعني أن فهارس الأحرف تبدأ من واحد.)

طول طول السلسلة المطابقة بـ مباراة()؛ -1 إذا لم يكن هناك تطابق.

ثانوية الحرف المستخدم لفصل عدة رموز في عناصر المصفوفة بواسطة
الافتراضي "\ 034".

سيمتاب مصفوفة تمثل فهارسها أسماء جميع المتغيرات العالمية المحددة حاليًا
والمصفوفات في البرنامج. يمكن استخدام المصفوفة للوصول غير المباشر للقراءة
أو اكتب قيمة المتغير:

فو = 5
SYMTAB ["foo"] = 4
طباعة فو # مطبوعات 4

تشير isarray () يمكن استخدام الوظيفة لاختبار ما إذا كان عنصر في سيمتاب هو
مجموعة مصفوفة. لا يجوز لك استخدام حذف بيان مع سيمتاب مجموعة مصفوفة.

نطاق المجال النصي لبرنامج AWK ؛ تستخدم للعثور على الترجمات المترجمة
لسلاسل البرنامج.

المصفوفات
يتم كتابة المصفوفات بتعبير بين أقواس مربعة ([ ]). إذا كان
التعبير عبارة عن قائمة تعبير (على سبيل المثال, على سبيل المثال ...) ثم المصفوفة المنخفضة عبارة عن سلسلة
تتكون من سلسلة القيمة (السلسلة) لكل تعبير ، مفصولة بامتداد
قيمة ثانوية عامل. هذه الوسيلة تستخدم لمحاكاة ذات أبعاد مضاعفة
المصفوفات. على سبيل المثال:

i = "أ"؛ j = "ب"؛ k = "C"
x [أنا ، j, k] = "أهلا، العالم \ n "

يعين السلسلة "أهلا، العالم \ n " لعنصر المصفوفة x الذي تم فهرسته بواسطة
سلسلة "A \ 034B \ 034C". جميع المصفوفات في AWK ترابطية ، أي مفهرسة بقيم سلسلة.

المشغل الخاص in يمكن استخدامها لاختبار ما إذا كانت المصفوفة تحتوي على فهرس يتكون من a
قيمة معينة:

if (فال in مجموعة مصفوفة)
طباعة مجموعة [فال]

إذا كانت المصفوفة تحتوي على عدة رموز منخفضة ، فاستخدم (و، j) in مجموعة.

تشير in يمكن أيضًا استخدام الإنشاء في أ For حلقة للتكرار على جميع عناصر ملف
مجموعة مصفوفة. ومع ذلك ، فإن (و، j) in مجموعة البناء يعمل فقط في الاختبارات ، وليس في For حلقات.

يمكن حذف عنصر من مصفوفة باستخدام الامتداد حذف بيان. ال حذف بيان
يمكن أيضًا استخدامها لحذف محتويات المصفوفة بالكامل ، فقط عن طريق تحديد المصفوفة
اسم بدون خط منخفض.

البله يدعم المصفوفات متعددة الأبعاد الحقيقية. لا يتطلب أن تكون مثل هذه المصفوفات
`` مستطيل '' كما في C أو C ++. على سبيل المثال:

أ [1] = 5
أ [2] [1] = 6
أ [2] [2] = 7

ملحوظة: قد تحتاج أن تخبر البله أن عنصر المصفوفة هو بالفعل مصفوفة فرعية من أجل استخدامها
حيث البله يتوقع مصفوفة (كما هو الحال في الوسيطة الثانية لـ ينقسم()). يمكنك ان تفعل
هذا عن طريق إنشاء عنصر في المصفوفة الفرعية ثم حذفه بامتداد حذف
بيان.

متغير كتابة و تحويل
قد تكون المتغيرات والحقول أرقام (فاصلة عائمة) أو سلاسل أو كليهما. كيف القيمة
متغير يعتمد على سياقه. إذا تم استخدامه في تعبير رقمي ،
سيتم التعامل معها كرقم ؛ إذا تم استخدامها كسلسلة سيتم التعامل معها كسلسلة.

لفرض معاملة المتغير كرقم ، أضف 0 إليه ؛ لإجبارها على التعامل معها على أنها أ
السلسلة ، قم بربطها بالسلسلة الفارغة.

المتغيرات غير المهيأة لها القيمة الرقمية 0 وقيمة السلسلة "" (القيمة الفارغة أو
سلسلة فارغة).

عندما يجب تحويل سلسلة إلى رقم ، يتم إنجاز التحويل باستخدام
سترتود(3). يتم تحويل الرقم إلى سلسلة باستخدام قيمة كونففمت كتنسيق
سلسلة ل sprintf(3) ، مع القيمة الرقمية للمتغير كوسيطة. لكن،
على الرغم من أن جميع الأرقام في AWK هي فاصلة عائمة ، فإن القيم التكاملية هي دائما تم تحويله كـ
أعداد صحيحة. وهكذا ، معطى

كونففمت = "٪ 2.2f"
a = 12
b = a ""

المتغير b له قيمة سلسلة "12" و لا "12.00".

ملحوظة: عند التشغيل في وضع POSIX (مثل ملف - المزيج option) ، احذر من ذلك المكان
قد تتداخل الإعدادات مع طريقة معالجة الأرقام العشرية: الفاصل العشري لـ
الأرقام التي تتغذى عليها البله يجب أن يتوافق مع ما تتوقعه منطقتك ، سواء كانت
فاصلة (،) أو نقطة (.).

البله يقوم بإجراء مقارنات على النحو التالي: إذا كان هناك متغيرين رقميين ، فيتم مقارنتهما
عدديا. إذا كانت إحدى القيمتين رقمية والأخرى تحتوي على قيمة سلسلة تكون "رقمية
سلسلة ، "ثم يتم إجراء المقارنات عدديًا أيضًا. خلاف ذلك ، فإن القيمة الرقمية
تحويلها إلى سلسلة ويتم إجراء مقارنة سلسلة. تتم مقارنة سلسلتين ، من
بالطبع ، كسلاسل.

لاحظ أن ثوابت السلسلة ، مثل "57"، هي ليس السلاسل الرقمية ، هي سلسلة
الثوابت. تنطبق فكرة "السلسلة الرقمية" على الحقول فقط ، الحصول على خط إدخال، اسم الملف,
ARGV عناصر، البيئة العناصر وعناصر المصفوفة التي تم إنشاؤها بواسطة ينقسم() or
باتسبليت () التي هي سلاسل رقمية. الفكرة الأساسية هي أن المستخدم إدخال، والمستخدم فقط
يجب التعامل مع الإدخال ، الذي يبدو رقميًا ، بهذه الطريقة.

أوكتال عشري ثابت
يمكنك استخدام الثوابت الثمانية والسداسية العشرية من النمط C في الكود المصدري لبرنامج AWK. ل
على سبيل المثال ، القيمة الثمانية 011 يساوي عدد عشري 9، والقيمة السداسية العشرية 0x11 is
يساوي العدد العشري 17.

خيط ثابت
ثوابت السلسلة في AWK هي سلاسل من الأحرف محاطة بعلامات اقتباس مزدوجة (مثل
"القيمة"). داخل السلاسل ، أكيد هرب متواليات يتم التعرف عليها ، كما هو الحال في C. وهذه هي:

\ شرطة مائلة عكسية.

\a الحرف "تنبيه" ؛ عادة ما يكون حرف ASCII BEL.

\b مسافة للخلف.

\f نموذج تغذية.

\n خط جديد.

\r إرجاع.

\t مساحة أفقية.

\v علامة تبويب عمودية.

\xعرافة الأرقام
الحرف الذي يمثله سلسلة الأرقام السداسية العشرية التي تلي \x. كما
في ISO C ، تعتبر جميع الأرقام السداسية العشرية التالية جزءًا من الهروب
تسلسل. (يجب أن تخبرنا هذه الميزة بشيء عن تصميم اللغة بواسطة
اللجنة.) على سبيل المثال ، "\ x1 ب" هو حرف ASCII ESC (الهروب).

DDD الحرف الذي يمثله تسلسل مكون من 1 أو 2 أو 3 أرقام من الأرقام الثمانية. على سبيل المثال ،
"\ 033" هو حرف ASCII ESC (الهروب).

c الطابع الحرفي c.

يمكن أيضًا استخدام تسلسلات الهروب داخل التعبيرات العادية الثابتة (على سبيل المثال ،
/[ \ t \ f \ n \ r \ v] / يطابق أحرف المسافة البيضاء).

في وضع التوافق ، يتم تمثيل الأحرف بالهروب الثماني والسداسي العشري
يتم التعامل مع التسلسلات حرفيًا عند استخدامها في ثوابت التعبير العادي. هكذا، / أ \ 52 ب /
ما يعادل / أ \ * ب /.

أنماط - رسم لأي لبس الإجراءات


AWK هي لغة خطية المنحى. يأتي النمط أولاً ، ثم الإجراء. عمل
البيانات المرفقة في { }. إما أن يكون النمط مفقودًا ، أو قد يكون الإجراء
أن يكون مفقودًا ، ولكن ، بالطبع ، ليس كلاهما. إذا كان النمط مفقودًا ، يتم تنفيذ الإجراء
لكل سجل من المدخلات. العمل المفقود يعادل

{ طباعة }

الذي يطبع السجل بأكمله.

تبدأ التعليقات بـ # ، واستمر حتى نهاية السطر. خطوط فارغة
يمكن استخدامها لفصل البيانات. عادةً ، ينتهي البيان بسطر جديد ، ومع ذلك ،
ليس هذا هو الحال بالنسبة للخطوط المنتهية بفاصلة ، {, ?, :, &&الطرق أو ||. الخطوط التي تنتهي بـ do
or آخر كما أن بياناتهم تستمر تلقائيًا في السطر التالي. في
في حالات أخرى ، يمكن متابعة السطر بإنهائه بعلامة "\" ، وفي هذه الحالة يكون السطر الجديد
تجاهلها.

يمكن وضع عبارات متعددة في سطر واحد عن طريق فصلها بعلامة "؛". وهذا ينطبق على
كلا العبارتين داخل جزء العمل من زوج النمط-الإجراء (الحالة المعتادة) ، و
إلى بيانات نمط العمل نفسها.

أنماط
قد تكون أنماط AWK واحدة مما يلي:

ابدأ
END
ملف البداية
نهاية
/منتظم التعبير/
العلائقية التعبير
النمط && النمط
النمط || النمط
النمط ? النمط : النمط
(النمط)
! النمط
pattern1, pattern2

ابدأ END نوعان خاصان من الأنماط التي لم يتم اختبارها مقابل المدخلات.
أجزاء العمل للجميع ابدأ يتم دمج الأنماط كما لو كانت جميع البيانات
مكتوب في واحد ابدأ القاعدة. يتم تنفيذها قبل قراءة أي من المدخلات.
وبالمثل ، فإن جميع ملفات END يتم دمج القواعد وتنفيذها عند استنفاد جميع المدخلات (أو
عندما خروج تم تنفيذ البيان). ابدأ END لا يمكن دمج الأنماط مع الأنماط الأخرى
أنماط في تعبيرات النمط. ابدأ END لا يمكن أن تحتوي الأنماط على أجزاء عمل مفقودة.

ملف البداية نهاية هي أنماط خاصة إضافية تم إعدام أجسادها من قبل
قراءة السجل الأول لكل ملف إدخال سطر أوامر وبعد قراءة السجل الأخير
من كل ملف. داخل ملف البداية القاعدة ، قيمة خطأ ستكون السلسلة الفارغة إذا
تم فتح الملف بنجاح. خلاف ذلك ، هناك بعض المشاكل في الملف و
يجب استخدام رمز التالي لتخطيها. إذا لم يتم ذلك ، البله تنتج قاتلة المعتاد
خطأ للملفات التي لا يمكن فتحها.

في حالة /منتظم التعبير/ أنماط ، يتم تنفيذ البيان المرتبط لكل مدخل
سجل يطابق التعبير العادي. التعبيرات العادية هي نفسها الموجودة في
com.egrep(1) ، ويتم تلخيصها أدناه.

A العلائقية التعبير قد تستخدم أيًا من المشغلين المحددين أدناه في القسم الخاص بـ
أجراءات. تختبر هذه بشكل عام ما إذا كانت بعض الحقول تتطابق مع تعبيرات عادية معينة.

تشير &&, ||و ! العوامل المنطقية AND ، المنطقية OR ، المنطقية NOT ، على التوالي ،
كما هو الحال في C. يقومون بتقييم الدائرة القصيرة ، أيضًا كما في C ، ويستخدمون للجمع بين المزيد
تعبيرات النمط البدائي. كما هو الحال في معظم اللغات ، يمكن استخدام الأقواس للتغيير
ترتيب التقييم.

تشير ?: عامل التشغيل مشابه لنفس العامل في C. إذا كان النمط الأول صحيحًا ، فعندئذٍ
النمط المستخدم للاختبار هو النمط الثاني ، وإلا فهو النمط الثالث. واحد فقط من
يتم تقييم النمط الثاني والثالث.

تشير pattern1, pattern2 شكل من أشكال التعبير يسمى أ نطاق النمط. يطابق الجميع
إدخال السجلات التي تبدأ بسجل يطابق pattern1، وتستمر حتى تسجيل
يطابق pattern2، شاملة. لا يتحد مع أي نوع آخر من الأنماط
التعبير.

منتظم التعبيرات
التعبيرات العادية هي النوع الممتد الموجود في com.egrep. هم يتألفون من الشخصيات
كما يلي:

c يتطابق مع الحرف غير الأولي c.

\c يطابق الحرف الحرفي c.

. يتطابق مع أي شخصية بما فيها خط جديد.

^ يطابق بداية السلسلة.

$ يطابق نهاية السلسلة.

[ABC ...] قائمة الأحرف: تطابق أيًا من الأحرف ABC .... يمكنك تضمين ملف
مجموعة من الأحرف عن طريق فصلها بشرطة.

[^ABC ...] قائمة الأحرف المرفوضة: تطابق أي حرف باستثناء ABC ....

r1|r2 التناوب: يطابق إما r1 or r2.

r1r2 التسلسل: مباريات r1، ومن ثم r2.

r+ يطابق واحدًا أو أكثر rالصورة.

r* تطابق صفر أو أكثر rالصورة.

r? تطابق صفر أو واحد rالصورة.

(r) التجمع: مباريات r.

r{n}
r{n,}
r{n,m} رقم واحد أو رقمان داخل الأقواس يشير إلى الفاصلة التعبير. إذا كان هناك
رقم واحد في الأقواس ، التعبير النمطي السابق r مكرر n
مرات. إذا كان هناك رقمان مفصول بفاصلة ، r مكرر n إلى m
مرات. إذا كان هناك رقم واحد متبوعًا بفاصلة ، إذن r يتكرر على الأقل
n .

\y تتطابق مع السلسلة الفارغة في بداية الكلمة أو نهايتها.

\B يطابق السلسلة الفارغة داخل الكلمة.

\< تتطابق مع السلسلة الفارغة في بداية الكلمة.

\> يطابق السلسلة الفارغة في نهاية الكلمة.

\s يطابق أي حرف مسافة بيضاء.

\S يتطابق مع أي حرف غير مسافات.

\w يتطابق مع أي حرف مكون من كلمة (حرف أو رقم أو شرطة سفلية).

\W يتطابق مع أي حرف ليس مكونًا للكلمات.

\` يطابق السلسلة الفارغة في بداية المخزن المؤقت (سلسلة).

\' يطابق السلسلة الفارغة في نهاية المخزن المؤقت.

تسلسلات الهروب الصالحة في ثوابت السلسلة (انظر خيط ثابت) هم أيضا
صالح في التعابير النمطية.

حرف فصول هي ميزة تم تقديمها في معيار POSIX. فئة الشخصية هي
رمز خاص لوصف قوائم الأحرف التي لها سمة معينة ، ولكن
حيث يمكن أن تختلف الشخصيات الفعلية نفسها من بلد إلى آخر و / أو من
مجموعة الأحرف إلى مجموعة الأحرف. على سبيل المثال ، مفهوم ما هو أبجدي
الطابع يختلف في الولايات المتحدة وفرنسا.

فئة الحرف صالحة فقط في التعبير العادي في الداخل بين قوسين من الحرف
قائمة. تتكون فئات الأحرف من [:، وكلمة أساسية تشير إلى الفصل ، و :].
فئات الأحرف المحددة بواسطة معيار POSIX هي:

[: alnum:] أحرف أبجدية رقمية.

[:ألفا:] الأحرف الأبجدية.

[:فارغ:] مسافة أو أحرف جدولة.

[: cntrl:] شخصيات التحكم.

[: رقم:] أحرف رقمية.

[:رسم بياني:] الأحرف التي يمكن طباعتها ومرئية. (مساحة قابلة للطباعة ، لكن لا
مرئية ، في حين أن a كلاهما.)

[:أدنى:] أحرف أبجدية صغيرة.

[:مطبعة:] أحرف قابلة للطباعة (أحرف ليست أحرفًا تحكم.)

[: نقطة:] أحرف الترقيم (الأحرف التي ليست أحرفًا ، أو أرقامًا ، أو تحكم
أحرف أو مسافات).

[:فضاء:] أحرف المسافات (مثل المسافة وعلامة الجدولة وتغذية النموذج ، على سبيل المثال لا الحصر).

[: العلوي:] الأحرف الأبجدية الكبيرة.

[: xdigit:] الأحرف التي هي أرقام سداسية عشرية.

على سبيل المثال ، قبل معيار POSIX ، لمطابقة الأحرف الأبجدية الرقمية ، سيكون لديك
كان علي أن أكتب / [A-Za-z0-9] /. إذا كانت مجموعة الأحرف الخاصة بك تحتوي على أحرف أبجدية أخرى ،
هذا لن يتطابق معهم ، وإذا تم ترتيب مجموعة الأحرف الخاصة بك بشكل مختلف عن ASCII ، فهذا
قد لا تتطابق حتى مع أحرف أبجدية رقمية ASCII. مع فئات أحرف POSIX ،
يمكنك كتابة / [[: alnum:]] /، وهذا يطابق الأحرف الأبجدية والرقمية بتنسيق
مجموعة شخصيتك ، بغض النظر عن ماهيتها.

يمكن أن يظهر تسلسلان خاصان إضافيان في قوائم الأحرف. هذه تنطبق على غير ASCII
مجموعات الأحرف ، والتي يمكن أن تحتوي على رموز مفردة (تسمى ترتيب عناصر) هذا
ممثلة بأكثر من شخصية ، بالإضافة إلى العديد من الشخصيات
ما يعادل ترتيب، أو الفرز ، الأغراض. (على سبيل المثال ، بالفرنسية ، حرف "e" و a
لهجة خطيرة "" متكافئة.)

ترتيب الرموز
رمز الترتيب هو عنصر تجميع متعدد الأحرف مضمن في [. .].
على سبيل المثال، إذا ch هو عنصر تجميع ، إذن [[.ch.]] هو تعبير عادي
الذي يطابق هذا العنصر المرتب ، بينما [الفصل] هو تعبير عادي
يتطابق أيضًا c or h.

فئات التكافؤ
فئة التكافؤ هي اسم خاص بالإعدادات المحلية لقائمة من الأحرف الموجودة
ما يعادل. الاسم مرفق في [= =]. على سبيل المثال ، الاسم e قد يكون
تستخدم لتمثيل كل "e" و "" و "." في هذه الحالة، [[= e =]] هو منتظم
التعبير الذي يطابق أيًا من e, هالطرق أو e`.

هذه الميزات ذات قيمة كبيرة في المناطق غير الناطقة باللغة الإنجليزية. وظائف المكتبة
أن البله يستخدم لمطابقة التعبير العادي حاليًا للتعرف على حرف POSIX فقط
الطبقات؛ لا يتعرفون على رموز الترتيب أو فئات التكافؤ.

تشير \y, \B, \<, \>, \s, \S, \w, \W, \`و \' عوامل محددة ل البله؛ هم انهم
امتدادات تعتمد على التسهيلات في مكتبات التعبير العادي GNU.

تتحكم خيارات سطر الأوامر المتنوعة في كيفية القيام بذلك البله يفسر الشخصيات بشكل منتظم
التعبيرات.

لا يوجد خيارات
في الحالة الافتراضية ، البله يوفر جميع تسهيلات تعبيرات POSIX العادية
وعوامل جنو للتعبير المنتظم الموصوفة أعلاه.

- المزيج
يتم دعم تعبيرات POSIX العادية فقط ، ولكن مشغلي GNU ليسوا مميزين.
(على سبيل المثال ، \w يطابق حرفيا w).

--التقليديين
نظام التشغيل UNIX التقليدي AWK التعبيرات العادية متطابقة. مشغلي جنو ليسوا كذلك
الخاص ، وتعبيرات الفترات غير متوفرة. الشخصيات التي وصفها ثماني
ويتم التعامل مع متواليات الهروب السداسي عشري حرفياً ، حتى لو كانت تمثل
أحرف أولية للتعبير العادي.

- فاصل زمني
السماح بتعبيرات الفاصل في التعبيرات العادية ، حتى لو --التقليديين وكان
قدمت.

الإجراءات
عبارات العمل محاطة بأقواس ، { }. تتكون بيانات العمل من المعتاد
عبارات الإسناد والشرطية والحلقة الموجودة في معظم اللغات. المشغلين ،
بيانات التحكم ، وبيانات الإدخال / الإخراج المتاحة منقوشة بعد تلك الموجودة في C.

مشغلي
العوامل في AWK ، بترتيب تنازلي الأسبقية ، هي:

( ) تجمع

$ مرجع ميداني.

++ -- الزيادة والنقصان ، كل من البادئة و postfix.

^ الأُس (** يمكن أيضًا استخدام و ** = لعامل التخصيص).

+ - ! أحادي زائد ، أحادي ناقص ، ونفي منطقي.

* / % الضرب والقسمة والمعامل.

+ - جمع وطرح.

الفضاء سلسلة السلسلة.

| |& I / O بالأنابيب لـ الحصول على خط, طباعةو printf.

< > <= >= != ==
العوامل العلائقية العادية.

~ !~ مطابقة التعبير العادي ، مطابقة مرفوضة. ملحوظة: لا تستخدم بانتظام منتظم
التعبير (/ foo /) على الجانب الأيسر من a ~ or !~. استخدم واحدًا فقط على
الجانب الأيمن. التعبير / foo / ~ إكسب له نفس معنى ((0 دولار ~
/ foo /) ~ إكسب). هذا عادة ليس ما تريد.

in عضوية صفيف.

&& المنطقية AND.

|| منطقي أو.

?: التعبير الشرطي C. هذا له الشكل إكسبر 1 ? إكسبر 2 : إكسبر 3. إذا
إكسبر 1 هي قيمة التعبير إكسبر 2، وإلا فهو كذلك إكسبر 3.
واحد فقط من إكسبر 2 إكسبر 3 مقيم.

= += -= *= /= %= ^=
مهمة. كلا الاحالة المطلقة (فار = قيمنا) وتعيين عامل
(الأشكال الأخرى) مدعومة.

مراقبة المالية
بيانات التحكم هي كما يلي:

if (حالة) بيان [ آخر بيان ]
في حين (حالة) بيان
do بيان في حين (حالة)
For (إكسبر 1; إكسبر 2; إكسبر 3) بيان
For (فار in مجموعة) بيان
استراحة
استمر
حذف مجموعة[مؤشر]
حذف مجموعة
خروج [ التعبير ]
{ البيانات }
تحول (التعبير) {
حقيبة قيمنا|رجإكس : بيان

[ الافتراضي: بيان ]
}

I / O المالية
بيانات الإدخال / الإخراج هي كما يلي:

أغلق(ملف [, كيف]) أغلق الملف أو الأنبوب أو العملية المشتركة. اختياري كيف يجب أن يكون فقط
تستخدم عند إغلاق أحد طرفي أنبوب ثنائي الاتجاه لعملية مشتركة. هو - هي
يجب أن تكون قيمة سلسلة أيضًا "إلى" or "من عند".

الحصول على خط بكيج $0 من سجل الإدخال التالي ؛ يضع NF, NR, FNR, RT.

الحصول على خط <ملف بكيج $0 من السجل التالي لـ ملف؛ جلس NF, RT.

الحصول على خط فار بكيج فار من سجل الإدخال التالي ؛ يضع NR, FNR, RT.

الحصول على خط فار <ملف بكيج فار من السجل التالي لـ ملف, RT.

أمر | الحصول على خط [فار]
يجري أمر الأنابيب الناتج إما إلى $0 or فار، على النحو الوارد أعلاه ، و
RT.

أمر |& الحصول على خط [فار]
يجري أمر كأنابيب عملية مشتركة الإخراج إما إلى $0 or فار,
على النحو الوارد أعلاه ، و RT. العمليات المشتركة هي أ البله تمديد. (أمر يمكن
يكون أيضا مقبس. انظر القسم الفرعي ملصقات خاصة قم بتقديم أسماء، أدناه.)

التالي توقف عن معالجة سجل الإدخال الحالي. سجل الإدخال التالي هو
تبدأ القراءة والمعالجة من جديد بالنمط الأول في AWK
برنامج. عند الوصول إلى نهاية بيانات الإدخال ، البله ينفذ أي
END قواعد).

التالي توقف عن معالجة ملف الإدخال الحالي. قراءة سجل الإدخال التالي
يأتي من ملف الإدخال التالي. اسم الملف أرجند يتم تحديثها ،
FNR إلى 1 ، وتبدأ المعالجة من جديد بالنمط الأول
في برنامج AWK. عند الوصول إلى نهاية بيانات الإدخال ، البله
ينفذ أي END قواعد).

طباعة اطبع السجل الحالي. يتم إنهاء سجل الإخراج بامتداد
قيمة ORS.

طباعة قائمة expr تعابير الطباعة. يتم فصل كل تعبير بقيمة
OFS. يتم إنهاء سجل الإخراج بقيمة ORS.

طباعة قائمة expr >ملف تشغيل التعبيرات ملف. يتم فصل كل تعبير بامتداد
قيمة OFS. يتم إنهاء سجل الإخراج بقيمة
ORS.

printf fmt ، قائمة expr التنسيق والطباعة. ارى تشير printf ملخص الحسابأدناه.

printf fmt ، قائمة expr >ملف
تنسيق وطباعة ملف.

النظام(خط cmd) تنفيذ الأمر خط cmd، وإرجاع حالة الخروج. (هذا ممكن
غير متاح في أنظمة غير POSIX.)

fflush ([ملف]) امسح أي مخازن مؤقتة مرتبطة بملف الإخراج أو الأنبوب المفتوح ملف.
If ملف مفقود أو إذا كانت السلسلة فارغة ، فقم بمسح الكل مفتوحًا
ملفات الإخراج والأنابيب.

يُسمح بإعادة توجيه الإخراج الإضافية لـ طباعة printf.

طباعة >> ملف
لإلحاق الإخراج بملف ملف.

طباعة | أمر
يكتب على أنبوب.

طباعة |& أمر
يرسل البيانات إلى عملية مشتركة أو مأخذ توصيل. (انظر أيضا القسم الفرعي ملصقات خاصة قم بتقديم أسماء,
أدناه).

تشير الحصول على خط يقوم الأمر بإرجاع 1 عند النجاح ، و 0 في نهاية الملف ، و -1 عند حدوث خطأ. على
خطأ، خطأ على سلسلة تصف المشكلة.

ملحوظة: يؤدي الفشل في فتح مأخذ ثنائي الاتجاه إلى إرجاع خطأ غير فادح إلى
وظيفة الاستدعاء. في حالة استخدام أنبوب أو عملية مشتركة أو مقبس الحصول على خط، أو من طباعة or
printf داخل حلقة ، أنت يجب تستخدم أغلق() لإنشاء مثيلات جديدة للأمر أو
قابس كهرباء. AWK لا تغلق الأنابيب أو المقابس أو العمليات المشتركة تلقائيًا عند عودتها
EOF.

تشير printf ملخص الحساب
إصدارات AWK من printf بيان و سبرينتف () وظيفة (انظر أدناه) قبول
تنسيقات مواصفات التحويل التالية:

%c حرف واحد. إذا استخدمت الوسيطة ل %c رقمية ، يتم التعامل معها على أنها أ
الطابع والمطبوع. وبخلاف ذلك ، يُفترض أن تكون الوسيطة سلسلة و
تتم طباعة الحرف الأول فقط من تلك السلسلة.

%d, %i رقم عشري (الجزء الصحيح).

%e, %E رقم الفاصلة العائمة للنموذج [-]d.DDDDDDe[+-]dd. %E يستخدم التنسيق E
بدلا من e.

%f, %F رقم الفاصلة العائمة للنموذج [-]DDD.DDDDDD. إذا كانت مكتبة النظام تدعم
ذلك، %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 (صفر) بمثابة علامة تشير إلى أنه يجب أن يكون الناتج مبطنًا
الأصفار بدلاً من المسافات. هذا ينطبق فقط على تنسيقات الإخراج الرقمية. هذه
يكون للعلامة تأثير فقط عندما يكون عرض الحقل أكبر من القيمة المراد طباعتها.

' يرشد حرف اقتباس واحد البله لإدراج فاصل الآلاف في الإعدادات المحلية
حرف إلى أرقام عشرية ، وكذلك لاستخدام العلامة العشرية للغة
حرف مع تنسيقات النقطة العائمة. يتطلب هذا دعم اللغة الصحيح في
مكتبة ج وفي تعريف اللغة الحالية.

عرض يجب أن يكون الحقل مبطنًا بهذا العرض. عادة ما يكون الحقل مبطنًا
المساحات. مع ال 0 العلم مبطن بالأصفار.

.بريك رقم يحدد الدقة التي يجب استخدامها عند الطباعة. بالنسبة إلى %e, %E, %f
%F، التنسيقات ، يحدد هذا عدد الأرقام التي تريد طباعتها على يمين
الفاصلة العشرية. بالنسبة إلى %gو %G التنسيقات ، فإنه يحدد الحد الأقصى لعدد ملفات
أرقام هامة. بالنسبة إلى %d, %i, %o, %u, %xو %X التنسيقات ، فهي تحدد ملفات
الحد الأدنى لعدد الأرقام المراد طباعتها. ل %s، فإنه يحدد الحد الأقصى لعدد
الأحرف من السلسلة التي يجب طباعتها.

الديناميكي عرض بريك قدرات ISO C printf () يتم دعم الروتين. أ *
بدلاً من عرض or بريك المواصفات تؤدي إلى أخذ قيمها منها
قائمة الحجة ل printf or سبرينتف (). لاستخدام محدد موضعي مع ديناميكي
العرض أو الدقة ، قم بتوفير عد$ بعد * في سلسلة التنسيق. على سبيل المثال،
"٪ 3 $ * 2 $. * 1 $ s".

ملصقات خاصة قم بتقديم أسماء
عند إجراء إعادة توجيه I / O من أي منهما طباعة or printf في ملف أو عبر الحصول على خط من
ملف، البله يتعرف على بعض أسماء الملفات الخاصة داخليًا. أسماء الملفات هذه تسمح بالوصول
لفتح واصفات الملفات الموروثة من البلهعملية الوالدين (عادة الغلاف). هؤلاء
يمكن أيضًا استخدام أسماء الملفات في سطر الأوامر لتسمية ملفات البيانات. أسماء الملفات هي:

- المدخلات القياسية.

/ ديف / stdin المدخلات القياسية.

/ ديف / stdout الإخراج القياسي.

/ ديف / ستدير ناتج الخطأ القياسي.

/ dev / fd /n الملف المرتبط بواصف الملف المفتوح n.

هذه مفيدة بشكل خاص لرسائل الخطأ. على سبيل المثال:

طباعة "أنت ينفخ هو - هي!" > "/ ديف / ستدير"

بينما قد تضطر إلى استخدام ملفات

طباعة "أنت ينفخ هو - هي!" | "قط 1> & 2 بوصة

يمكن استخدام أسماء الملفات الخاصة التالية مع امتداد |& المشغل المشترك للإنشاء
اتصالات شبكة TCP / IP:

/ إنت / tcp /lport/روست/rport
/ inet4 / tcp /lport/روست/rport
/ inet6 / tcp /lport/روست/rport
ملفات لاتصال TCP / IP على المنفذ المحلي lport للمضيف البعيد روست على جهاز التحكم عن بعد
ميناء rport. استخدم منفذ 0 لجعل النظام يختار منفذًا. يستخدم / إنت 4 لإجبار
اتصال IPv4 و / إنت 6 لفرض اتصال IPv6. عادي / إنت يستخدم
النظام الافتراضي (على الأرجح IPv4).

/ إنت / udp /lport/روست/rport
/ inet4 / udp /lport/روست/rport
/ inet6 / udp /lport/روست/rport
مشابه ، لكن استخدم UDP / IP بدلاً من TCP / IP.

رقمية وظائف
يحتوي AWK على الوظائف الحسابية المضمنة التالية:

atan2 (y, x) أعد قوس ظل الزاوية لـ ص / س بالتقدير الدائري.

كوس (على سبيل المثال) إرجاع جيب التمام لـ على سبيل المثال، وهو بالتقدير الدائري.

exp (على سبيل المثال) الوظيفة الأسية.

int (على سبيل المثال) اقتطاع إلى عدد صحيح.

سجل(على سبيل المثال) دالة اللوغاريتم الطبيعي.

راند () قم بإرجاع رقم عشوائي N، بين 0 و 1 ، بحيث يكون 0 ≤ N <1.

الخطيئة (على سبيل المثال) إرجاع جيب على سبيل المثال، وهو بالتقدير الدائري.

الجذر التربيعي (على سبيل المثال) قم بإرجاع الجذر التربيعي لـ على سبيل المثال.

srand ([على سبيل المثال]) استعمل على سبيل المثال كبذرة جديدة لمولد الأرقام العشوائية. إذا كان الجواب لا على سبيل المثال is
المقدمة ، استخدم الوقت من اليوم. أعد البذرة السابقة للعشوائية
مولد الرقم.

خيط وظائف
البله لديه وظائف السلسلة المضمنة التالية:

asort (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 ، للإشارة فقط إلى النص المطابق
ال nالتعبير بين قوسين. الترتيب \0 يمثل
النص المطابق بالكامل ، وكذلك الحرف &. مختلف الفرعية()
gsub ()، يتم إرجاع السلسلة المعدلة كنتيجة لـ
الدالة ، والسلسلة الهدف الأصلي هي ليس تغيرت.

gsub (r, s [, t]) لكل سلسلة فرعية تطابق التعبير العادي r في السلسلة
t، استبدل السلسلة s، وإرجاع عدد
بدائل. لو t لم يتم توفيره ، استخدم $0. و & في ال
يتم استبدال النص البديل بالنص الذي كان في الواقع
متطابقة. يستخدم \& للحصول على حرفيا &. (يجب كتابة هذا كـ
"\\ &". بحيرة البله: الطُرق الفعّالة AWK برمجة وتطوير لإجراء مناقشة أشمل
من قواعد &والشرطة المائلة العكسية في نص الاستبدال الخاص بـ
الفرعية(), gsub ()و جينسوب ().)

فهرس(s, t) أعد فهرس السلسلة t في السلسلة s، أو 0 إذا t ليس
هدية. (هذا يعني أن فهارس الأحرف تبدأ من واحد)
هو خطأ فادح لاستخدام ثابت regexp ل t.

الطول([s]) أعد طول السلسلة s، أو طول $0 if s ليس
زودت. كملحق غير قياسي ، مع وسيطة مصفوفة ،
طول () تُرجع عدد العناصر في المصفوفة.

تطابق(s, r [, a]) إعادة الموقف في s حيث التعبير النمطي r يحدث ، أو
0 إذا r غير موجود ، وقم بتعيين قيم رستارت طول.
لاحظ أن ترتيب الوسيطة هو نفسه بالنسبة إلى ~ المشغل أو العامل:
شارع ~ re. إذا مجموعة a متوفر، a يتم مسح ثم العناصر
1 من خلال n تمتلئ بأجزاء من s التي تتطابق مع
التعبير الفرعي المقابل بين قوسين في r. العنصر 0
of a يحتوي على جزء من s يقابلها العادية بأكملها
التعبير r. نصوص a[n, "بداية"]و a[n, "الطول"]
توفير مؤشر البداية في السلسلة والطول على التوالي ،
من كل سلسلة فرعية مطابقة.

باتسبليت (s, a [, r [, سبس]])
انقسام السلسلة s في المصفوفة a ومجموعة الفواصل سبس
على التعبير النمطي r، وإرجاع عدد الحقول.
قيم العناصر هي أجزاء من s التي تطابق r. قيمة ال
سبس [i] هو الفاصل الذي ظهر أمام a[i+ 1]. إذا r
تم حذفه، FPAT يستخدم بدلا من ذلك. المصفوفات a سبس .
مسح أولا. يتصرف الانقسام بشكل مماثل لتقسيم المجال
مع FPAT، موصوف بالاعلى.

الانقسام(s, a [, r [, سبس]])
انقسام السلسلة s في المصفوفة a ومجموعة الفواصل سبس
على التعبير النمطي r، وإرجاع عدد الحقول. لو
r تم حذفه، FS يستخدم بدلا من ذلك. المصفوفات a سبس .
مسح أولا. سبس [i] هو فاصل المجال المتطابق r
ما بين a[i] a[i+ 1]. إذا r هي مسافة واحدة ، ثم رائدة
مسافة بيضاء في s يذهب إلى عنصر المصفوفة الإضافية سبس [0]
تذهب المسافة البيضاء الزائدة إلى عنصر المصفوفة الإضافي سبس [n],
أين n هي القيمة المرجعة لـ الانقسام(s, a, r, سبس). شق
يتصرف بشكل مماثل لتقسيم المجال ، الموصوف أعلاه.

sprintf (معاهدة المواد الانشطارية, قائمة expr) طباعة قائمة expr بالنسبة الى معاهدة المواد الانشطارية، وإرجاع السلسلة الناتجة.

strtonum (شارع) بحث شارع، وإرجاع قيمته الرقمية. لو شارع يبدأ بـ
قيادة 0، تعامل معه كرقم ثماني. لو شارع يبدأ بـ
قيادة 0x or 0X، تعامل معه كرقم سداسي عشري. خلاف ذلك،
افترض أنه رقم عشري.

الفرعية(r, s [, t]) تماما مثل gsub ()، ولكن استبدل السلسلة الفرعية المطابقة الأولى فقط.

substr (s, i [, n]) إرجاع على الأكثر n-السلسلة الفرعية للحرف s بدءاً من i. إذا n
تم حذفه ، استخدم باقي s.

لخفض(شارع) قم بإرجاع نسخة من السلسلة شارع، مع كل الأحرف الكبيرة
in شارع تُرجمت إلى نظيراتها ذات الأحرف الصغيرة.
يتم ترك الأحرف غير الأبجدية دون تغيير.

توبر (شارع) قم بإرجاع نسخة من السلسلة شارع، مع كل الأحرف الصغيرة
in شارع تُرجمت إلى نظيراتها ذات الأحرف الكبيرة.
يتم ترك الأحرف غير الأبجدية دون تغيير.

البله يدرك multibyte. هذا يعني ذاك فهرس(), طول (), substr () مباراة() كل العمل
من حيث الأحرف وليس البايت.

الوقت: وظائف
نظرًا لأن أحد الاستخدامات الأساسية لبرامج AWK هو معالجة ملفات السجل التي تحتوي على الوقت
معلومات الطوابع ، البله يوفر الوظائف التالية للحصول على الطوابع الزمنية و
تنسيقها.

mktime (التواريخ)
تحول التواريخ في طابع زمني بنفس الشكل الذي تم إرجاعه بواسطة نظام ()و
إرجاع النتيجة. ال التواريخ هي سلسلة من النموذج YYYY MM DD HH MM SS [
التوقيت الصيفي]. محتويات السلسلة تمثل ستة أو سبعة أرقام
على التوالي عام كامل بما في ذلك القرن ، والشهر من 1 إلى 12 ، يوم
الشهر من 1 إلى 31 ، ساعة اليوم من 0 إلى 23 ، الدقيقة من 0 إلى
59 ، والثاني من 0 إلى 60 ، وعلامة التوقيت الصيفي الاختيارية. القيم
من هذه الأرقام لا يلزم أن تكون ضمن النطاقات المحددة ؛ على سبيل المثال ، ساعة
-1 تعني 1 ساعة قبل منتصف الليل. التقويم الميلادي هو الأصل صفر
مفترض ، مع السنة 0 السابقة للسنة 1 والسنة -1 التي تسبق العام 0. الوقت هو
يفترض أن يكون في المنطقة الزمنية المحلية. إذا كانت علامة التوقيت الصيفي موجبة ،
من المفترض أن يكون الوقت هو التوقيت الصيفي ؛ إذا كان صفرًا ، يُفترض أن الوقت
يكون الوقت القياسي وإذا كان سالبًا (الافتراضي) ، mktime () يحاول تحديد
ما إذا كان التوقيت الصيفي ساريًا في الوقت المحدد. لو التواريخ
لا يحتوي على عناصر كافية أو إذا كان الوقت الناتج خارج النطاق ،
mktime () إرجاع -1.

strftime ([شكل [, الطابع الزمني[, utc العلم]]])
شكل الطابع الزمني حسب المواصفات في شكل. إذا utc العلم is
موجودة وغير صفرية أو غير خالية ، تكون النتيجة بالتوقيت العالمي المنسق ، وإلا تكون النتيجة
في التوقيت المحلي. ال الطابع الزمني يجب أن يكون بنفس الشكل الذي تم إرجاعه بواسطة
نظام (). إذا الطابع الزمني مفقود ، يتم استخدام الوقت الحالي من اليوم. لو شكل
مفقود ، تنسيق افتراضي مكافئ لإخراج تاريخ(1) يستخدم. ال
التنسيق الافتراضي متاح في PROCINFO ["strftime"]. انظر المواصفات ل
ال strftime () تعمل في ISO C لتنسيق التحويلات المضمونة
لتكون متاحة.

نظام () إرجاع الوقت الحالي من اليوم بعدد الثواني منذ العصر
(1970-01-01 00:00:00 UTC على أنظمة POSIX).

قطعة التلاعب وظائف
البله يوفر وظائف معالجة البت التالية. يعملون عن طريق تحويل مزدوج
الدقة لقيم الفاصلة العائمة uintmax_t الأعداد الصحيحة ، والقيام بالعملية ، وبعد ذلك
تحويل النتيجة مرة أخرى إلى النقطة العائمة. الوظائف هي:

و(v1, v2 [، ...]) إرجاع أحادي المعامل AND للقيم المتوفرة في قائمة الوسائط.
يجب أن يكون هناك اثنان على الأقل.

شكوى (فال) قم بإرجاع مكمل أحادي المعامل لـ فال.

lshift (فال, عد) إرجاع قيمة فال، تحول إلى اليسار بمقدار عد بت.

أو(v1, v2 [، ...]) إرجاع أحادي المعامل OR للقيم المقدمة في قائمة الوسيطات.
يجب أن يكون هناك اثنان على الأقل.

rshift (فال, عد) إرجاع قيمة فال، يمينًا عد بت.

xor (v1, v2 [، ...]) قم بإرجاع XOR أحادي المعامل للقيم المتوفرة في قائمة الوسائط.
يجب أن يكون هناك اثنان على الأقل.

النوع الوظيفة
الوظيفة التالية للاستخدام مع المصفوفات متعددة الأبعاد.

isarray (x)
إرجاع صحيح إذا x هي مصفوفة ، خاطئة على خلاف ذلك.

التجارة في الخارج وظائف
يمكن استخدام الوظائف التالية من داخل برنامج AWK لترجمة النصوص
في وقت التشغيل. للحصول على التفاصيل الكاملة ، انظر البله: الطُرق الفعّالة AWK برمجة وتطوير.

bindtextdomain (دليل [, نطاق])
حدد مكان الدليل البله يبحث عن .gmo الملفات ، في حال لم يفعلوا ذلك أو
لا يمكن وضعها في المواقع `` القياسية '' (على سبيل المثال ، أثناء الاختبار). يعود
الدليل حيث نطاق هو `` ملزم ''.
الافتراضي نطاق هي قيمة نطاق. إذا دليل هي سلسلة فارغة
("")، ثم bindtextdomain () إرجاع الربط الحالي للمعيار نطاق.

dcgettext (سلسلة [, نطاق [, الفئة]])
إعادة ترجمة سلسلة في مجال النص نطاق لفئة اللغة
الفئة. القيمة الافتراضية لـ نطاق هي القيمة الحالية لـ نطاق.
القيمة الافتراضية لـ الفئة is "رسائل LC_MESSAGES".
إذا قمت بتوفير قيمة لـ الفئة، يجب أن تكون سلسلة مساوية لواحد من المعروف
الفئات المحلية الموضحة في البله: الطُرق الفعّالة AWK برمجة وتطوير. يجب عليك أيضا
توفير مجال النص. يستخدم نطاق إذا كنت تريد استخدام المجال الحالي.

dcngettext (string1, string2, عدد [, نطاق [, الفئة]])
إعادة صيغة الجمع المستخدمة ل عدد من ترجمة string1 string2 in
مجال النص نطاق لفئة اللغة الفئة. القيمة الافتراضية لـ نطاق is
القيمة الحالية لـ نطاق. القيمة الافتراضية لـ الفئة is "رسائل LC_MESSAGES".
إذا قمت بتوفير قيمة لـ الفئة، يجب أن تكون سلسلة مساوية لواحد من المعروف
الفئات المحلية الموضحة في البله: الطُرق الفعّالة AWK برمجة وتطوير. يجب عليك أيضا
توفير مجال النص. يستخدم نطاق إذا كنت تريد استخدام المجال الحالي.

تعريف المستخدم وظائف


يتم تعريف الوظائف في AWK على النحو التالي:

وظيفة الاسم(المعلمة الإدارية) { البيانات }

يتم تنفيذ الوظائف عندما يتم استدعاؤها من داخل التعبيرات في أي من الأنماط أو
أجراءات. يتم استخدام المعلمات الفعلية المتوفرة في استدعاء الوظيفة لإنشاء مثيل
المعلمات الرسمية المعلنة في الوظيفة. يتم تمرير المصفوفات عن طريق المرجع ، أخرى
يتم تمرير المتغيرات بالقيمة.

نظرًا لأن الوظائف لم تكن في الأصل جزءًا من لغة AWK ، فإن توفير الوظائف المحلية
المتغيرات خرقاء نوعًا ما: تم الإعلان عنها كمعلمات إضافية في قائمة المعلمات.
الاصطلاح هو فصل المتغيرات المحلية عن المعلمات الحقيقية بمسافات إضافية في
قائمة المعلمات. على سبيل المثال:

وظيفة و (ص ، q, a, b) # a b . محلي
{

}

/ abc / { ; و (1 ، 2) ; }

القوس الأيسر في استدعاء دالة مطلوب لتتبع الوظيفة على الفور
الاسم ، دون أي مسافة بيضاء متداخلة. هذا يتجنب الغموض النحوي مع
مشغل سلسلة. لا ينطبق هذا القيد على الوظائف المضمنة المدرجة
في الاعلى.

قد تستدعي الوظائف بعضها البعض وقد تكون متكررة. تستخدم معلمات الوظيفة كمحلية
تتم تهيئة المتغيرات إلى السلسلة الفارغة والرقم صفر عند استدعاء الوظيفة.

استعمل عائد أعلى على سبيل المثال لإرجاع قيمة من دالة. القيمة المعادة هي undefined إذا كانت لا
يتم توفير القيمة ، أو إذا عادت الدالة بـ "السقوط" في النهاية.

ك البله التمديد ، يمكن استدعاء الوظائف بشكل غير مباشر. للقيام بذلك ، قم بتعيين اسم
الوظيفة المراد استدعاؤها ، كسلسلة ، إلى متغير. ثم استخدم المتغير كما لو كان
هي اسم وظيفة مسبوقة بامتداد @ التوقيع ، مثل ذلك:
وظيفة myfunc ()
{
طباعة "myfunc مسمى"

}

{
the_func = "myfunc"
the_func () # دعوة من خلال the_func إلى com.myfunc

}
اعتبارًا من الإصدار 4.1.2 ، يعمل هذا مع الوظائف المعرفة من قبل المستخدم والوظائف المضمنة و
وظائف التمديد.

If - لينت تم اعطائها، البله يحذر من المكالمات لوظائف غير محددة في وقت التحليل ،
بدلا من وقت التشغيل. يعد استدعاء دالة غير محددة في وقت التشغيل خطأً فادحًا.

الكلمة ظائفها يمكن استخدامها بدلا من وظيفة، على الرغم من أن هذا مهمل.

ديناميكيًا جار التحميل جديد وظائف


يمكنك إضافة وظائف مدمجة جديدة ديناميكيًا إلى الجري البله مترجم مع
@حمل بيان. التفاصيل الكاملة خارج نطاق صفحة الدليل هذه ؛ ارى البله:
الطُرق الفعّالة AWK برمجة وتطوير.

الإشارات


تشير البله يقبل منشئ ملفات التعريف إشارتين. سيجسر 1 يتسبب في تفريغ ملف تعريف ووظيفة
مكدس الاستدعاء إلى ملف الملف الشخصي ، وهو إما awkprof.out، أو أي ملف تم تسميته
مع الالجائزة --الملف الشخصي اختيار. ثم يستمر في الجري. تنفس الصعداء حتى الأسباب البله لتفريغ
ملف التعريف والوظيفة مكدس ثم الخروج.

تدويل


ثوابت السلسلة هي سلاسل من الأحرف محاطة بعلامات اقتباس مزدوجة. بلغة غير الإنجليزية
في بيئات التحدث ، من الممكن وضع علامة على السلاسل في برنامج AWK على أنها تتطلب
الترجمة إلى اللغة الطبيعية المحلية. يتم تمييز هذه السلاسل في برنامج AWK بـ
شرطة سفلية بادئة ("_"). على سبيل المثال،

البله 'يبدأ { طباعة "أهلا، العالمية" }'

يطبع دائما أهلا، العالم. لكن،

البله 'يبدأ { طباعة _"أهلا، العالمية" }'

قد يطبع صباح الخير، موند في فرنسا.

هناك عدة خطوات متضمنة في إنتاج وتشغيل برنامج AWK قابل للترجمة.

1. إضافة أ ابدأ إجراء لتعيين قيمة إلى نطاق متغير لتعيين مجال النص
إلى اسم مرتبط ببرنامجك:

ابدأ { نطاق = "myprog" }

هذا يسمح البله لتجد ال .gmo الملف المرتبط ببرنامجك. بدون هذا
خطوة، البله يستخدم رسائل مجال النص ، والذي من المحتمل أنه لا يحتوي على ترجمات
لبرنامجك.

2. قم بتمييز كافة السلاسل التي يجب ترجمتها بشرطة سفلية بادئة.

3. إذا لزم الأمر ، استخدم dcgettext () و / أو bindtextdomain () وظائف في برنامجك ،
حسب الاقتضاء.

4. شغل البله - جن وعاء -f myprog.awk > myprog.pot لتوليد .وعاء ملف خاص بك
برنامج.

5. تقديم الترجمات المناسبة ، وبناء وتركيب المقابلة .gmo الملفات.

يتم وصف ميزات التدويل بالتفصيل الكامل في البله: الطُرق الفعّالة AWK
برمجة وتطوير.

POSIX التوافق


هدف أساسي لـ البله متوافق مع معيار POSIX ، وكذلك مع
أحدث نسخة من Brian Kernighan's AWK. لهذة النهاية، البله يتضمن ما يلي
الميزات المرئية للمستخدم والتي لم يتم وصفها في كتاب AWK ، ولكنها جزء من Brian
إصدار Kernighan لـ AWK، ومعيار POSIX.

يشير الكتاب إلى أن تعيين متغير سطر الأوامر يحدث عندما AWK على خلاف ذلك
افتح الحجة كملف ، وهو بعد ملف ابدأ تم تنفيذ القاعدة. ومع ذلك، في
في وقت سابق ، عندما ظهر مثل هذا الإسناد قبل أي أسماء ملفات ، فإن
سيحدث الاحالة قبل ال ابدأ تم تشغيل القاعدة. أصبحت التطبيقات تعتمد على
هذه "الميزة". متي AWK تم تغييره لمطابقة وثائقه ، فإن -v خيار
تعيين المتغيرات قبل تنفيذ البرنامج تمت إضافته لاستيعاب التطبيقات التي
يعتمد على السلوك القديم. (تم الاتفاق على هذه الميزة من قبل كل من الجرس
المعامل ومطورو جنو.)

عند معالجة الحجج ، البله يستخدم الخيار الخاص "-" للإشارة إلى نهاية
الحجج. في وضع التوافق ، يحذر من الخيارات غير المحددة ولكنه يتجاهلها بخلاف ذلك.
في التشغيل العادي ، يتم تمرير هذه الحجج إلى برنامج AWK حتى تتم معالجتها.

لا يحدد كتاب AWK قيمة الإرجاع لـ srand (). معيار POSIX لديه ذلك
إعادة البذرة التي كانت تستخدمها ، للسماح بتتبع التسلسلات الرقمية العشوائية.
من ثم srand () in البله يُرجع أيضًا بذرته الحالية.

الميزات الجديدة الأخرى هي: استخدام متعدد -f خيارات (من MKS AWK)؛ ال البيئة مجموعة مصفوفة؛
ال \aو \v تسلسل الهروب (تم إجراؤه في الأصل بتنسيق البله وتغذى مرة أخرى في الجرس
نسخة المختبرات) ؛ ال لخفض() توبر () وظائف مدمجة (من الجرس
نسخة المختبرات) ؛ ومواصفات تحويل ISO C بتنسيق printf (يتم القيام به أولاً في
نسخة مختبرات بيل).

تاريخي المزايا


هناك ميزة واحدة لتطبيقات AWK التاريخية وهي البله يدعم: ممكن
لاستدعاء طول () وظيفة مضمنة ليس فقط بدون حجة ، ولكن حتى بدونها
أقواس! هكذا،

a = الطول # المقدس رأس الغول 60 الرجل الوطواط!

هو نفس أي من

a = طول ()
a = الطول (0 دولار)

استخدام هذه الميزة هو ممارسة سيئة ، و البله يصدر تحذيرًا بشأن استخدامه إذا - لينت is
المحدد في سطر الأوامر.

جنو إمتداد


البله يحتوي على عدد كبير جدًا من الامتدادات لـ POSIX AWK. تم وصفهم في هذا
الجزء. يمكن تعطيل كافة الامتدادات الموصوفة هنا عن طريق استدعاء البله مع الالجائزة
--التقليديين or - المزيج خيارات.

الميزات التالية لـ البله غير متوفرة في POSIX AWK.

· لا يتم إجراء بحث عن الملفات المسماة عبر ملف -f اختيار. لذلك فإن أوكباث
متغير البيئة ليس خاصا.

· لا توجد وسيلة للقيام بإدراج الملف (البله's @يشمل آلية).

· لا توجد وسيلة لإضافة وظائف جديدة بشكل ديناميكي مكتوبة بلغة C (البله's @حمل
آلية).

· ال \x تسلسل الهروب. (معطل مع - المزيج.)

· القدرة على الاستمرار في الخطوط بعد ? :. (معطل مع - المزيج.)

· الثوابت الثمانية والسداسية العشرية في برامج AWK.

· ال أرجند, بينمود, خطأ, لينت, RT نطاق المتغيرات ليست خاصة.

· ال تجاهل متغير وآثاره الجانبية غير متوفرة.

· ال عرض الحقول تقسيم مجال العرض المتغير والثابت.

· ال FPAT المتغير وتقسيم المجال على أساس قيم المجال.

· ال بروسينفو مجموعة غير متوفرة.

· استخدام RS كتعبير عادي.

· لم يتم التعرف على أسماء الملفات الخاصة المتاحة لإعادة توجيه الإدخال / الإخراج.

· ال |& المشغل لإنشاء العمليات المشتركة.

· ال ملف البداية نهاية الأنماط الخاصة غير متوفرة.

· القدرة على تقسيم الأحرف الفردية باستخدام سلسلة فارغة كقيمة FS,
والحجة الثالثة ل ينقسم().

· وسيطة رابعة اختيارية ل ينقسم() لتلقي النصوص الفاصلة.

· الوسيطة الثانية الاختيارية ل أغلق() وظيفة.

· الوسيطة الثالثة الاختيارية ل مباراة() وظيفة.

· القدرة على استخدام المحددات الموضعية مع printf سبرينتف ().

· القدرة على تمرير مجموعة إلى طول ().

· ال و(), asort (), أسورتي (), bindtextdomain (), شكوى (), dcgettext (), دنكجتيكست (),
جينسوب (), lshift (), mktime (), أو(), باتسبليت (), rshift (), strftime (), strtonum (),
نظام () xor () الوظائف.

سلاسل المترجمة.

لا يحدد كتاب AWK القيمة المرجعة لـ أغلق() وظيفة. البله's أغلق()
إرجاع القيمة من com.f Close(3) ، أو pإغلاق(3) ، عند إغلاق ملف الإخراج أو الأنبوب ،
على التوالى. تقوم بإرجاع حالة خروج العملية عند إغلاق أنبوب الإدخال. ال
القيمة المرجعة هي -1 إذا لم يتم فتح الملف أو توجيه الإخراج أو العملية المشتركة بامتداد
إعادة التوجيه.

متى البله مع --التقليديين الخيار ، إذا كان fs حجة لل -F الخيار
"ر" ، إذن FS تم تعيينه على حرف الجدولة. لاحظ أن الكتابة البله -F \ t ببساطة يسبب
قذيفة لاقتباس "t" ، ولا تمرر "\ t" إلى -F اختيار. نظرًا لأن هذا ملف
بل حالة خاصة قبيحة ، ليس السلوك الافتراضي. هذا السلوك أيضا لا
تحدث إذا - المزيج تم تحديده. حقا للحصول على حرف جدولة كحقل
الفاصل ، من الأفضل استخدام علامات الاقتباس المفردة: البله -F '\ t' .

البيئة المتغيرات


تشير أوكباث يمكن استخدام متغير البيئة لتوفير قائمة من الدلائل التي البله
يبحث عند البحث عن الملفات المسماة عبر امتداد -f، --ملف, -i --يشمل والخيارات. إذا
فشل البحث الأولي ، يتم البحث عن المسار مرة أخرى بعد الإلحاق .awk إلى اسم الملف.

تشير أوكليب باث يمكن استخدام متغير البيئة لتوفير قائمة من الدلائل التي البله
يبحث عند البحث عن الملفات المسماة عبر امتداد -l --حمل خيارات.

تشير GAWK_READ_TIMEOUT يمكن استخدام متغير البيئة لتحديد مهلة في
مللي ثانية لقراءة المدخلات من طرف أو أنبوب أو اتصال ثنائي الاتجاه بما في ذلك
مآخذ.

للاتصال بمضيف بعيد عبر المقبس ، GAWK_SOCK_RETRIES يتحكم في عدد
المحاولات و GAWK_MSEC_SLEEP والفاصل الزمني بين عمليات إعادة المحاولة. الفاصل الزمني في
مللي ثانية. على الأنظمة التي لا تدعم انت نائم(3) ، القيمة مقربة لأعلى
عدد الثواني.

If POSIXLY_CORRECT موجود في البيئة ، إذن البله يتصرف تمامًا كما لو - المزيج كان
تم تحديده في سطر الأوامر. لو - لينت تم تحديده ، البله يصدر تحذيرا
رسالة لهذا المعنى.

EXIT الوضع


إذا كان خروج يتم استخدام العبارة مع قيمة ، إذن البله مخارج مع القيمة العددية المعطاة
لذلك.

خلاف ذلك ، إذا لم تكن هناك مشاكل أثناء التنفيذ ، البله مخارج بقيمة ج
ثابت EXIT_SUCCESS. هذا عادة صفر.

إذا حدث خطأ ، البله مخارج بقيمة C ثابت EXIT_FAILURE. وهذا هو
عادة واحد.

If البله مخارج بسبب خطأ فادح ، حالة الخروج هي 2. في أنظمة غير POSIX ، هذا
قد يتم تعيين القيمة إلى EXIT_FAILURE.

VERSION معلومات


وثائق صفحة الرجل هذه البله، النسخة 4.1.

مؤلفون


النسخة الأصلية من UNIX AWK تم تصميمه وتنفيذه بواسطة ألفريد أهو ، بيتر
Weinberger و Brian Kernighan من مختبرات Bell. يواصل بريان كيرنيغان ذلك
صيانته وتعزيزه.

كتب بول روبين وجاي فينلاسون من مؤسسة البرمجيات الحرة البلهلتكون متوافقة
بالنسخة الأصلية من AWK وزعت في الطبعة السابعة UNIX. جون وودز
ساهم بعدد من إصلاحات الأخطاء. ديفيد ترومان ، مع مساهمات من أرنولد روبينز ،
صنع البله متوافق مع الإصدار الجديد من UNIX AWK. أرنولد روبينز هو التيار
المشرف.

يرى البله: الطُرق الفعّالة AWK برمجة وتطوير للحصول على قائمة كاملة بالمساهمين في البله ولها
كابل بيانات.

شاهد README ملف في البله التوزيع للحصول على معلومات محدثة حول القائمين على الصيانة
وما هي المنافذ المدعومة حاليًا.

BUG تقارير


إذا وجدت خطأ في البله، يرجى إرسال بريد إلكتروني إلى bug-gawk@gnu.org. من فضلك
يتضمن نظام التشغيل الخاص بك ومراجعته ، إصدار البله (من البله --الإصدار),
أي مترجم C استخدمته لتجميعه ، وبرنامج اختبار وبيانات صغيرة مثل
من الممكن إعادة إنتاج المشكلة.

قبل إرسال تقرير خطأ ، يرجى القيام بالأمور التالية. أولاً ، تحقق من أن لديك
أحدث إصدار من البله. يتم إصلاح العديد من الأخطاء (عادةً ما تكون خفية) في كل إصدار ،
وإذا كانت مشكلتك قديمة ، فربما تم حل المشكلة بالفعل. ثانيًا ، انظر من فضلك
في حالة ضبط متغير البيئة LC_ALL إلى LC_ALL = ج يجعل الأشياء تتصرف مثلك
توقع. إذا كان الأمر كذلك ، فهذه مشكلة محلية ، وقد تكون أو لا تكون خطأ في الواقع. أخيرًا ، من فضلك
اقرأ صفحة الدليل هذه والدليل المرجعي بعناية للتأكد من أن ما تعتقد أنه ملف
الخطأ هو حقًا ، بدلاً من مجرد شذوذ في اللغة.

مهما فعلت ، افعل لا نشر تقرير خطأ في comp.lang.awk. في حين أن البله المطورين
قراءة مجموعة الأخبار هذه من حين لآخر ، ونشر تقارير الأخطاء هناك طريقة غير موثوق بها للإبلاغ
البق. بدلاً من ذلك ، يرجى استخدام عناوين البريد الإلكتروني الواردة أعلاه. هل حقا.

إذا كنت تستخدم نظامًا قائمًا على GNU / Linux أو BSD ، فقد ترغب في إرسال تقرير خطأ إلى
بائع التوزيع الخاص بك. لا بأس ، لكن من فضلك أرسل نسخة إلى المسؤول
عنوان البريد الإلكتروني أيضًا ، نظرًا لعدم وجود ضمان بإعادة توجيه تقرير الخطأ إليه
ال البله المشرف.

استخدم gawk عبر الإنترنت باستخدام خدمات onworks.net



أحدث برامج Linux و Windows عبر الإنترنت