לערן די לינוקס קאַמאַנד - גאַק

נאָמען

gawk - מוסטער סקאַנינג און פּראַסעסינג שפּראַך

סינאָפּסיס

gawk [POSIX or GNU style options] -f פּראָגראַם טעקע [ - ] טעקע ...
gawk [POSIX or GNU style options] [ - ] פּראָגראַם-טעקסט טעקע ...

pgawk [POSIX or GNU style options] -f פּראָגראַם טעקע [ - ] טעקע ...
pgawk [POSIX or GNU style options] [ - ] פּראָגראַם-טעקסט טעקע ...

באַשרייַבונג

Gawk איז די גנו פּראָיעקט 'ס ימפּלאַמענטיישאַן פון די AWK פּראָגראַממינג שפּראַך. עס קאַנפאָרמז צו די דעפֿיניציע פון ​​דער שפּראַך אין די פּאָזיקס 1003.2 באַפֿעלן שפּראַך און וטיליטיעס נאָרמאַל. דעם ווערסיע אין דרייַ איז באזירט אויף די באַשרייַבונג אין די אַווק פּראָגראַממינג שפּראַך , דורך Aho, Kernighan, און Weinberger, מיט די נאָך פֿעיִקייטן געפונען אין די סיסטעם V Release 4 ווערסיע פון ​​UNIX awk . גאַווק אויך גיט מער פריש בעל לאַבאָראַטאָריעס אַווק יקסטענשאַנז, און אַ נומער פון גנו-ספּעציפיש יקסטענשאַנז.

פּגאַווק איז די פּראָפילינג ווערסיע פון גאַק . עס איז יידעניקאַל אין יעדער וועג צו גאַנק , חוץ אַז מגילה לויפן מער סלאָולי, און עס אויטאָמאַטיש פּראָדוצירן אַ דורכפירונג פּראָפיל אין דער טעקע awkprof.out ווען געטאן. זען די - פּראָפיל אָפּציע, ונטער.

די באַפֿעלן שורה באשטייט פון אָפּציעס צו גאַק זיך, די טעקסטוואָק פּראָגראַם טעקסט (אויב ניט סאַפּלייד דורך די-פ אָדער - טעקע אָפּציעס), און וואַלועס צו זיין בנימצא אין אַרגק און אַרגוו פאַר-דיפיינד אַווק וועריאַבאַלז.

אָפּציע פֿאָרמאַט

גאַווק אָפּציעס קענען זיין אָדער טראדיציאנעלן פּאָסיקס איין בריוו אָפּציעס, אָדער גנו נוסח לאַנג אָפּציעס. פּאָסיקס אָפּציעס אָנהייבן מיט אַ איין `` - '', בשעת לאַנג אָפּציעס אָנהייבן מיט `` - ''. לאנג אָפּציעס זענען צוגעשטעלט פֿאַר ביידע גנו-ספּעציפיש פֿעיִקייטן און פֿאַר פּאָסיקס-מאַנדייטאַד פֿעיִקייטן.

ווייַטערדיק די פּאָסיקס נאָרמאַל, גאַק- ספּעציפיש אָפּציעס זענען סאַפּלייד דורך אַרגומענטן צו די -וו אָפּציע. Multiple -W אָפּציעס קענען זיין סאַפּלייד יעדער -וו אָפּציע האט אַ קאָראַספּאַנדינג לאַנג אָפּציע, ווי דיטיילד אונטן. אַרגומענטן פֿאַר לאַנג אָפּציעס זענען פארבונדן מיט די אָפּציע דורך אַן = צייכן, מיט קיין ינערווינינג ספּייסאַז, אָדער זיי קען זיין צוגעשטעלט אין דער ווייַטער באַפֿעל שורה אַרגומענט. לאנג אָפּציעס קענען זיין אַבריוויייטיד, ווי לאַנג ווי די אַבריווייישאַן איז יינציק.

אָפּציעס

גאק אַקסעפּץ די ווייַטערדיק אָפּציעס, ליסטעד אַלפאַבעטיקלי.

-F fs

--field-separator fs ניצן פס פֿאַר די אַרייַנשרייַב פעלד סעפּאַראַטאָר (די ווערט פון די פס פּרעדעפינעד בייַטעוודיק).

-וו וואַר = וואַל

- אַססיגן וואַר = וואַל באַשטימען דעם ווערט וואַלו צו די בייַטעוודיק וואַר , איידער די אָנהייב פון די פּראָגראַם הייבט. אַזאַ בייַטעוודיק וואַלועס זענען בנימצא צו די BEGIN בלאָק פון אַ אַווק פּראָגראַם.

-f פּראָגראַם טעקע

- טעקע פּראָגראַם טעקע לייענען די אַווק פּראָגראַם מקור פון די טעקע פּראָגראַם טעקע , אַנשטאָט פון די ערשטער באַפֿעל שורה אַרגומענט. קייפל (אָדער - טעקעס ) אָפּציעס קענען זיין געוויינט.

-מף נן

-מם נן שטעלן פאַרשידן זכּרון לימיץ צו די ננן ווערט. די פ פאָן שטעלט די מאַקסימום נומער פון פעלדער, און די ר פאָן שטעלט די מאַקסימום רעקאָרד גרייס. די צוויי פלאַגס און די אָפּציע זענען פון די Bell Laboratories פאָרשונג ווערסיע פון UNIX awk . זיי זענען איגנאָרירט דורך gawk , ווייַל gawk האט קיין פאַר-דיפיינד לימאַץ.

-וו קאַמפּאַטאַבילאַטי

-W traditional

- קאָמפּאַט

- טראַדיציאָנעל לויפן אין קאַמפּאַטאַבילאַטי מאָדע. אין קאַמפּאַטאַבילאַטי מאָדע, gawk ביכייווז יידיליקלי צו UNIX awk ; קיינער פון די GNU-ספּעציפיש יקסטענשאַנז זענען אנערקענט. די נוצן פון - טראַדיציאָנעל איז בילכער איבער די אנדערע פארמען פון דעם אָפּציע. זען גנו עקסטענסיאָנס , ונטער, פֿאַר מער אינפֿאָרמאַציע.

-W copyleft

-W copyright

--קאָפּילעפט

--copyright דרוקן די קורץ ווערסיע פון ​​די GNU דרוקרעכט אינפֿאָרמאַציע אָנזאָג אויף די נאָרמאַל רעזולטאַט און אַרויסגאַנג הצלחה.

-W דאַמפּ-וועריאַבאַלז [ = טעקע ]

--דומפּ-וועריאַבאַלז [ = טעקע ] דרוק אַ סאָרטעד רשימה פון גלאבאלע וועריאַבאַלז, זייער טייפּס און לעצט וואַלועס צו טעקע . אויב קיין טעקע איז צוגעשטעלט, gawk ניצט אַ טעקע געהייסן awkvars.out אין דעם קראַנט וועגווייַזער.

ווייל אַ רשימה פון אַלע די גלאבאלע וועריאַבאַלז איז אַ גוט וועג צו זוכן פֿאַר טיפּיש פיקשאַנז אין דיין מגילה. איר וואָלט אויך נוצן דעם אָפּציע אויב איר האָבן אַ גרויס פּראָגראַם מיט אַ פּלאַץ פון פאַנגקשאַנז, און איר ווילן צו זיין זיכער אַז דיין פאַנגקשאַנז טאָן ניט ינאַדווערטאַנטלי נוצן גלאבאלע וועריאַבאַלז וואָס איר האָט צו זיין היגע. (דאָס איז אַ ספּעציעל גרינג צו מאַכן מיט פּשוט בייַטעוודיק נעמען ווי איך , דזש , און אַזוי אויף.)

-W הילף

-W באַניץ

- העלפּ

- אויסזען דרוק אַ לעפיערעך קורץ קיצער פון די בנימצא אָפּציעס אויף די נאָרמאַל פּראָדוקציע. (פּער די GNU קאָודינג סטאַנדאַרדס , די אָפּציעס גרונט אַ באַלדיק, מצליח אַרויסגאַנג.)

-W לינט [ = פאַטאַל ]

--lint [ = פאַטאַל ] צושטעלן וואָרנינגז וועגן קאַנסטראַקץ וואָס זענען סאָפעקדיק אָדער ניט-פּאָרטאַטיוו צו אנדערע אַווק ימפּלאַמענטיישאַן. מיט אַ אַפּשאַנאַל אַרגומענט פון פאַטאַל , לינט וואָרנינגז ווערן פאַטאַל ערראָרס. דעם קען זיין דראַסטיק, אָבער זייַן נוצן וועט זיכער מוטיקן די אַנטוויקלונג פון אַווק מגילה קלינער.

-W לינט-אַלט

--lint-old צושטעלן ווארענונג וועגן קאַנסטראַקץ וואָס זענען נישט פּאָרטאַטיוו צו דער אָריגינעל ווערסיע פון ​​Unix awk .

-W גאַט-פּאָ

--גענ-פּאָ סקאַן און פּאַרס די אַווק פּראָגראַם, און דזשענערייט אַ GNU .פּאָ פֿאָרמאַט טעקע אויף נאָרמאַל רעזולטאַט מיט איינסן פֿאַר אַלע היגעיזאַבלע סטרינגס אין דעם פּראָגראַם. די פּראָגראַם זיך איז נישט עקסאַקיוטאַד. זען די GNU געטטעקט פאַרשפּרייטונג פֿאַר מער אינפֿאָרמאַציע אויף .פּאָ טעקעס.

-W ניט-דעצימאַל-דאַטן

- ניט-דעצימאַל-דאַטע רעקאָרדירן אָקטאַל און העקסאַדעסימאַל וואַלועס אין אַרייַנשרייַב דאַטע. ניצן דעם אָפּציע מיט גרויס וואָרענען!

-W פּאָסיקס

--posix דאס טורנס אויף קאַמפּאַטאַבילאַטי מאָדע, מיט די פאלגענדע נאָך ריסטריקשאַנז:

*

\ x אַנטלויפן סיקוואַנסיז זענען נישט אנערקענט.

*

בלויז פּלאַץ און קוויטל אַקט ווי פעלד סעפּאַראַטאָרס ווען פס איז באַשטימט צו אַ איין אָרט, נעוולינע טוט נישט.

*

איר קענען נישט פאָרזעצן שורות נאָך ? און :.

*

די סאָנאָנאָם פונק פֿאַר די קיווערד פֿונקציע איז נישט דערקענט.

*

די אָפּערייטערז ** און ** = קענען ניט זיין געניצט אין פּלאַץ פון ^ און ^ = .

*

די פפלוש () פֿונקציע איז ניט בנימצא.

-W פּראָפיל [ = פּראָפ_פילע ]

--profile [ = prof_file ] שיקן פּראָפילינג דאַטע צו פּראָפ_פילע . די פעליקייַט איז awkprof.out . ווען פליסנדיק מיט גאַק , די פּראָפיל איז נאָר אַ `` שיין געדרוקט 'ווערסיע פון ​​דעם פּראָגראַם. ווען פליסנדיק מיט pgawk , די פּראָפיל כּולל עקסעקוטיאָנינג קאַונץ פון יעדער סטאַטעמענט אין דעם פּראָגראַם אין די לינקס גרענעץ און פונקציאָנירן רופן קאַונץ פֿאַר יעדער באַניצער-דיפיינד פונקציע.

-W שייַעך-מעהאַלעך

-רע-ינטערוואַל געבן די נוצן פון ינטערוואַל יקספּרעסשאַנז אין רעגולער אויסדרוק וואָס ריכטן זיך (זען רעגולער עקספּרעססיאָנס , ונטער). ינטערוואַלז זענען נישט טראַדישאַנאַלי בנימצא אין די אַווק שפּראַך. די פּאָסיקס סטאַנדאַרדס האָבן צוגעלייגט זיי צו מאַכן אַווק און עגיפּפּ קאָנסיסטענט מיט יעדער אנדערער. אָבער, זייער נוצן איז מסתּמא צו ברעכן אַלט ייווק מגילה, אַזוי גאַק בלויז גיט זיי אויב זיי זענען געבעטן מיט דעם אָפּציע, אָדער ווען - פּאַסיקס איז ספּעסאַפייד.

-וו מקור פּראָגראַם-טעקסט

- סאָורסינג פּראָגראַם-טעקסט ניצן פּראָגראַם-טעקסט ווי אַווק פּראָגראַם מקור קאָד. דעם אָפּציע אַלאַוז די גרינג ינטערמיקסינג פון ביבליאָטעק פאַנגקשאַנז (געוויינט דורך די-פ און - טעקע אָפּציעס) מיט מקור קאָד אריין אויף די באַפֿעל שורה. עס איז בדעה פֿאַר בעערעך מיטל-ברייט אַווק מגילה אין שאָל סקריפּס.

-וו ווערסיע

--version דרוק ווערסיע אינפֿאָרמאַציע פֿאַר דעם באַזונדער קאָפּיע פון gawk אויף די נאָרמאַל פּראָדוקציע. דעם איז נוצנדיג דער הויפּט פֿאַר וויסן אויב די קראַנט קאָפּיע פון gawk אויף דיין סיסטעם איז אַרויף צו טאָג מיט רעספּעקט צו וועלכער די Free Software Foundation איז דיסטריביוטינג. דעם איז אויך נוצלעך ווען ריפּאָרטינג באַגז. (פּער די GNU קאָודינג סטאַנדאַרדס , די אָפּציעס גרונט אַ באַלדיק, מצליח אַרויסגאַנג.)

- סיגנאַל דער סוף פון אָפּציעס. דעם איז נוצלעך צו לאָזן ווייַטער אַרגומענטן צו די אַווק פּראָגראַם זיך צו אָנהייבן מיט אַ `` - ''. דאָס איז דער הויפּט פֿאַר קאָנסיסטענסי מיט דער אַרגומענט פּאַרסינג קאַנווענשאַן געניצט דורך רובֿ אנדערע פּאָסיקס מגילה.

אין קאַמפּאַטאַבילאַטי מאָדע, קיין אנדערע אָפּציעס זענען פלאַגד ווי פאַרקריפּלט, אָבער זענען אַנדערש איגנאָרירט. אין נאָרמאַל אָפּעראַציע, ווי לאַנג ווי פּראָגראַם טעקסט איז געשיקט, אומבאַקאַנט אָפּציעס זענען דורכגעגאנגען צו די אַווק פּראָגראַם אין אַרגוו מענגע פֿאַר פּראַסעסינג. דאָס איז ספּעציעל נוציק פֿאַר פליסנדיק אַווק מגילה דורך די `` # # '' 'עקסעקוטאַבלע יבערזעצער מעקאַניזאַם.

AWK PROGRAM EXECUTION

א אַווק פּראָגראַם באשטייט פון אַ סיקוואַנס פון מוסטער-אַקטינג סטייטמאַנץ און אַפּשאַנאַל פֿונקציע זוך.

מוסטער { קאַמף סטייטמאַנץ }

פונקציע נאָמען ( פּאַראַמעטער רשימה ) { סטייטמאַנץ }

Gawk first reads the program source from the program file (s) if specified , from arguments to - source , or from the first non-option argument on the command line. די -f און -סאָורסע אָפּציעס קענען זיין געניצט קייפל מאל אויף די באַפֿעל שורה. גאַווק לייענט די פּראָגראַם טעקסט ווי אויב אַלע די פּראָגראַם טעקע s און באַפֿעלן שורה מקור טעקסץ זענען קאַנקאַטאַנייטיד צוזאַמען. דאָס איז נוציק פֿאַר בנין לייברעריז פון אַווק פאַנגקשאַנז, אָן האָבן צו אַרייַננעמען זיי אין יעדער נייַ אַווק פּראָגראַם וואָס ניצט זיי. עס אויך גיט די פיייקייַט צו מישן ביבליאָטעק פאַנגקשאַנז מיט באַפֿעל שורה מגילה.

די סוויווע בייַטעוודיק AWKPATH ספּעסאַפייז אַ זוכן דרך צו נוצן ווען געפונען מקור טעקעס געהייסן מיט די-ף אָפּציע. אויב דאָס איז ניט מעגלעך, די פעליקייַט וועג איז ".: / וסר / היגע / ייַנטיילן / אַווק" . (די פאַקטיש וועגווייַזער קען בייַטן, דיפּענדינג אויף ווי גאַווק איז געבויט און אינסטאַלירן.) אויב אַ טעקע נאָמען געגעבן צו די -f אָפּציע כּולל אַ `` / '' כאַראַקטער, קיין וועג זוך איז געטאן.

גאַווק עקסאַקיוץ אַווק מגילה אין די פאלגענדע סדר. ערשטער, אַלע ווערייישאַס אַסיינד באזירט דורך די -וו אָפּציע זענען געטאן. ווייַטער, gawk קאַמפּיילז די פּראָגראַם אין אַ ינערלעך פאָרעם. דערנאך, gawk עקסאַקיוץ די קאָד אין די BEGIN בלאָק (s) (אויב קיין), און דאַן לייזונג צו לייענען יעדער טעקע געהייסן אין די אַרגוו מענגע. אויב עס זענען קיין טעקעס געהייסן אויף די באַפֿעל שורה, גאַקק לייענט די סטאַנדאַרט אַרייַנשרייַב.

אויב אַ טעקע נאָמען אויף די באַפֿעל שורה האט די פאָרעם וואַר = וואַל, עס איז באהאנדלט ווי אַ בייַטעוודיק אַסיינמאַנט. די בייַטעוודיק וואַרס וועט זיין אַסיינד די ווערט וואַל . (דאס כאַפּאַנז נאָך קיין BEGIN בלאָק (s) האָבן שוין לויפן.) באַפֿעלן שורה בייַטעוודיק אַסיינמאַנט איז רובֿ נוציק פֿאַר דינאַמיקאַללי אַסיינינג וואַלועס צו די וועריאַבאַלז אַווק ניצט צו קאָנטראָלירן ווי אַרייַנשרייַב איז צעבראכן אין פעלדער און רעקאָרדס. עס איז אויך נוציק פֿאַר קאַנטראָולינג סטאַטוס אויב קייפל פּאַסיז זענען דארף איבער אַ איין דאַטן טעקע.

אויב די ווערט פון אַ באַזונדער עלעמענט פון ARGV איז ליידיק ( "" ), gawk skips איבער עס.

פֿאַר יעדער רעקאָרד אין די אַרייַנשרייַב, גאַק טעסץ צו זען אויב עס שוועבעלעך קיין מוסטער אין די אַווק פּראָגראַם. פֿאַר יעדער מוסטער אַז די רעקאָרד שוועבעלעך, די פארבונדן קאַמף איז עקסאַקיוטאַד. די פּאַטערנז זענען טעסטעד אין דער סדר וואָס זיי פאַלן אין די פּראָגראַם.

סוף, נאָך אַלע די אַרייַנשרייַב איז ויסגעמאַטערט, gawk עקסאַקיוץ די קאָד אין די סוף בלאָק (s) (אויב קיין).

וואַריאַבאַלז, רעקאָרדס, און פעלדער

אַווק וועריאַבאַלז זענען דינאַמיש; זיי קומען אין דערזען ווען זיי זענען ערשטער געוויינט. זייער וואַלועס זענען אָדער פלאָוטינג-פונט נומערן אָדער סטרינגס, אָדער ביידע, דיפּענדינג אויף ווי זיי זענען געניצט. אַווק אויך האט איין דימענשאַנאַל ערייז; אַרעאַמס מיט קייפל דימענשאַנז קען זיין סימיאַלייטיד. עטלעכע פאַר-דיפיינד וועריאַבאַלז זענען שטעלן ווי אַ פּראָגראַם לויפט; דאס וועט זיין דיסקרייבד ווי דארף און סאַמערייזד אונטן.

רעקאָרדס

נאָרמאַללי, רעקאָרדס זענען אפגעשיידט דורך נעוולינע אותיות. איר קענען קאָנטראָלירן ווי רעקאָרדס זענען אפגעשיידט דורך אַסיינד וואַלועס צו די געבויט-אין בייַטעוודיק רס . אויב רס איז אַ איין כאַראַקטער, דעם כאַראַקטער סעפּערייץ רעקאָרדס. אַנדערש, רס איז אַ רעגולער אויסדרוק. טעקסט אין די אַרייַנשרייַב אַז שוועבעלעך דעם רעגולער אויסדרוק סעפּערייץ די רעקאָרד. אָבער, אין קאַמפּאַטאַבילאַטי מאָדע, בלויז דער ערשטער כאַראַקטער פון זייַן שטריקל ווערט איז געניצט פֿאַר סעפּערייטינג רעקאָרדס. אויב רס איז באַשטימט צו די נאַל שטריקל, דעמאָלט רעקאָרדס זענען אפגעשיידט דורך פּוסט שורות. ווען רס איז באַשטימט צו די נאַל שטריקל, די נעוולינע כאַראַקטער שטענדיק אקטן ווי אַ פעלד סעפּאַראַטאָר, אין דערצו צו וועלכער ווערט עפעס קען האָבן.

פעלד

ווי יעדער אַרייַנשרייַב רעקאָרד איז לייענען, gawk splits די רעקאָרד אין פעלדער , ניצן די ווערט פון די FS בייַטעוודיק ווי די פעלד סעפּאַראַטאָר. אויב פס איז אַ איין כאַראַקטער, פעלדער זענען אפגעשיידט דורך דעם כאַראַקטער. אויב פס איז די נאַל שטריקל, דעמאָלט יעדער יחיד כאַראַקטער ווערט אַ באַזונדער פעלד. אַנדערש, פס איז דערוואַרט צו זיין אַ פול רעגולער אויסדרוק. אין דעם ספּעציעל פאַל אַז פס איז אַ איין אָרט, פעלדער זענען אפגעשיידט דורך לויטן ספּייסיז און / אָדער טאַבס און / אָדער נעוולינעס. (אבער זען די דיסקוסיע פון ​​- פּאַסיקס , ונטער). נאָטיץ: די ווערט פון יגנאָרעקאַסע (זען ווייטער) אויך אַפעקץ ווי פעלדער זענען ספּליטיד ווען פס איז אַ רעגולער אויסדרוק, און ווי רעקאָרדס זענען אפגעשיידט ווען רס איז אַ רעגולער אויסדרוק.

אויב די פיוועלווידטהס בייַטעוודיק איז באַשטימט צו אַ פּלאַץ אפגעשיידט רשימה פון נומערן, יעדער פעלד איז דערוואַרט צו האָבן אַ פאַרפעסטיקט ברייט, און גאַק ספּיץ די רעקאָרד ניצן די ספּעסאַפייד ברייט. די ווערט פון פס איז איגנאָרירט. באַשטימען אַ נייַע ווערט צו פס אָוווערריידז די נוצן פון פיעלדווידטהס , און ריסטאָרז די פעליקייַט אָפּפירונג.

יעדער פעלד אין די אַרייַנשרייַב רעקאָרדס קען זיין רעפערענסט דורך זייַן שטעלע, $ 1 , $ 2 , און אַזוי אויף. $ 0 איז דער גאנצער רעקאָרד. פעלדער דאַרפֿן נישט זיין רעפערענסט דורך קאַנסטאַנץ:

n = 5
דרוקן $ n

דרוקן די פינפט פעלד אין די אַרייַנשרייַב רעקאָרד.

די בייַטעוודיק נף איז באַשטימט צו די גאַנץ נומער פון פעלדער אין די אַרייַנשרייַב רעקאָרד.

רעפֿערענצן אויף ניט-עגזיסטאַנט פעלדער (ד"ה פעלדער נאָך $ נף ) פּראָדוצירן די נאַל-שטריקל. אָבער, באַשטימען צו אַ ניט-עגזיסטאַנט פעלד (למשל, $ (NF + 2) = 5 ) ינקריסיז די ווערט פון נף , קריייץ קיין ינטערווינינג פעלדער מיט די נאַל שטריקל ווי זייער ווערט, און ז די ווערט פון $ 0 צו זיין רעקאָמפּוטעד, מיט די פעלדער זענען אפגעשיידט דורך די ווערט פון אָפס . באַווייַזן צו נעגאַטיוו געציילט פעלדער גרונט אַ פאַטאַל טעות. דעקרעמענטינג נף זייַנען די וואַלועס פון פעלדער פאַרגאַנגענהייַט די נייַע ווערט צו פאַרפאַלן, און דער ווערט פון $ 0 צו זיין רעקאָמפּוטעד, מיט די פעלדער וואס זענען אפגעשיידט דורך די ווערט פון אָפס .

באַשטימען אַ ווערט צו אַ יגזיסטינג פעלד זייַנען די גאנצע רעקאָרד צו זיין ריבילט ווען $ 0 איז רעפראַנסט. סימילאַרלי, אַסיינינג אַ ווערט צו $ 0 זייַנען די רעקאָרד צו זיין ריספּעקטיוולי, שאפן נייַע וואַלועס פֿאַר די פעלדער.

געבויט אין וואַריאַבאַלז

גאַווק 'ס געבויט-אין וועריאַבאַלז זענען:

ARGC

די נומער פון באַפֿעלן ליניע אַרגומענטן (טוט ניט אַרייַננעמען אָפּציעס צו גאַק , אָדער די פּראָגראַם מקור).

אַרגינד

דער אינדעקס אין אַרגוו פון דעם קראַנט טעקע איז פּראַסעסט.

ARGV

אַרייַן פון באַפֿעלן שורה טענות. דער מענגע איז אינדעקס פון 0 צו אַרגק - 1. דינאַמיקאַללי טשאַנגינג די אינהאַלט פון אַרגוו קענען קאָנטראָלירן די טעקעס געניצט פֿאַר דאַטן.

BINMODE

אויף ניט-פּאָסיקס סיסטעמס, ספּעציפיש נוצן פון `` ביינערי '' מאָדע פֿאַר אַלע טעקע איך / אָ. נומעריק וואַלועס פון 1, 2, אָדער 3, ספּעציפיצירן אַז אַרייַנשרייַב טעקעס, רעזולטאַט טעקעס, אָדער אַלע טעקעס, ריספּעקטיוולי, זאָל נוצן ביינערי איך / אָ. שטריקל וואַלועס פון "ר" , אָדער "וו" ספּעציפיצירן אַז אַרייַנשרייַב טעקעס, אָדער רעזולטאַט טעקעס, ריספּעקטיוולי, זאָל נוצן ביינערי איך / אָ. סטרינג וואַלועס פון "רוו" אָדער "וור" ספּעציפיצירן אַז אַלע טעקעס זאָל נוצן ביינערי איך / אָ. קיין אנדערע שטראַל ווערט איז באהאנדלט ווי "רוו" , אָבער דזשענערייץ אַ ווארענונג אָנזאָג.

CONVFMT

די קאַנווערזשאַן פֿאָרמאַט פֿאַר נומערן, "% .6 ג" , דורך פעליקייַט.

ENVIRON

אַ מענגע מיט די וואַלועס פון די קראַנט סוויווע. דער מענגע איז אינדעקס דורך די סוויווע וועריאַבאַלז, יעדער עלעמענט איז די ווערט פון וואָס בייַטעוודיק (אַזאַ ווי ענוויראָן ["HOME"] קען זיין / היים / אַרנאָלד ). טשאַנגינג דעם מענגע טוט נישט ווירקן די סוויווע געזען דורך מגילה וואָס גאַעק ספּונז דורך רידערעקשאַן אָדער די סיסטעם () פונקציאָנירן.

ERRNO

אויב אַ סיסטעם טעות אַקערז אָדער טאן אַ רידערעקשאַן פֿאַר געטליין , בעשאַס אַ לייענען פֿאַר גלייבן , אָדער אין אַ נאָענט () , עררנאָ וועט אַנטהאַלטן אַ שטריקל דיסקרייבינג די טעות. די ווערט איז אונטערגעצייכנט צו איבערזעצונג אין ניט-ענגליש לאקאלע.

FIELDWIDTHS

א ווייַס-אָרט אפגעשיידט רשימה פון פעלדווידטהס. ווען שטעלן, gawk פּאַרסיז די אַרייַנשרייַב אין פעלדער פון פאַרפעסטיקט ברייט, אַנשטאָט פון ניצן די ווערט פון די פס בייַטעוודיק ווי די פעלד סעפּאַראַטאָר.

FILENAME

דער נאָמען פון דעם קראַנט אַרייַנשרייַב טעקע. אויב קיין טעקעס זענען ספּעסאַפייד אויף די באַפֿעל שורה, די ווערט פון פילענאַמע איז `` - ''. אָבער, FILENAME איז ניט פאַרפעסטיקט אין די BEGIN בלאָק (סייַדן באַשטימט דורך getline ).

FNR

דער אַרייַנשרייַב רעקאָרד נומער אין די קראַנט אַרייַנשרייַב טעקע.

FS

דער אַרייַנשרייַב פעלד סעפּאַראַטאָר, אַ פּלאַץ דורך פעליקייַט. זען פעלדער , אויבן.

יגנאָרעקאַסע

קאָנטראָל די פאַל סענסיטיוויטי פון אַלע רעגולער אויסדרוק און שטריקל אַפּעריישאַנז. אויב יגנאָרעקאַסע האט אַ ניט-נול ווערט, דעמאָלט סטרינג קאַמפּעראַסאַנז און מוסטער וואָס ריכטן זיך אין כּללים, פעלד ספּליטינג מיט פס , רעקאָרד סעפּערייטינג מיט רס , רעגולער אויסדרוק וואָס ריכטן מיט ~ און ! ~ , און די גענסוב () , גסוב () , אינדעקס () , גלייַכן () , ספּליט () , און סאַב () געבויט-אין פאַנגקשאַנז אַלע איגנאָרירן פאַל ווען טאן רעגולער אויסדרוק אַפּעריישאַנז. נאָטיץ: Array subscripting is not affected, nor is the asort () function.

אזוי, אויב יגנאָרעקאַסע איז ניט גלייַך צו נול, / אַב / גלייַכן אַלע די סטרינגס "אַב" , "אַב" , "אַב" , און "אַב" . ווי מיט אַלע אַווק וועריאַבאַלז, די ערשט ווערט פון יגנאָרעקאַסע איז נול, אַזוי אַלע רעגולער אויסדרוק און סטרינג אַפּעריישאַנז זענען נאָרמאַלי פאַל-שפּירעוודיק. אונטער יוניקס, די גאַנץ ISO 8859-1 לאַטייַן-1 כאַראַקטער שטעלן איז געניצט ווען יגנאָרינג פאַל.

LINT

פּראָווידעס דינאַמיש קאָנטראָל פון די - לינט אָפּציע פון ​​ין אַ אַווק פּראָגראַם. ווען אמת, gawk prints lint warnings. ווען פאַלש, עס טוט נישט. ווען אַסיינד די שטריקל ווערט "פאַטאַל" , לינט וואָרנינגז ווערן פאַטאַל ערראָרס, פּונקט ווי - לינט = פאַטאַל . קיין אנדערע אמת ווערט נאָר דרוקן וואָרנינגז.

NF

די נומער פון פעלדער אין די קראַנט אַרייַנשרייַב רעקאָרד.

NR

די גאַנץ נומער פון אַרייַנשרייַב רעקאָרדס געזען אַזוי ווייַט.

OFMT

דער רעזולטאַט פֿאָרמאַט פֿאַר נומערן, "% .6 ג" , דורך פעליקייַט.

OFS

דער רעזולטאַט פעלד סעפּאַראַטאָר, אַ פּלאַץ דורך פעליקייַט.

ORS

דער רעזולטאַט רעקאָרד סעפּאַראַטאָר, דורך פעליקייַט אַ נעוולינע.

PROCINFO

די יסודות פון דעם מענגע צושטעלן צוטריט צו אינפֿאָרמאַציע וועגן די פליסנדיק אַווק פּראָגראַם. אויף עטלעכע סיסטעמס, עס קען זיין עלעמענטן אין דער מענגע, "group1" דורך "גרופע ן " פֿאַר עטלעכע N , וואָס איז די נומער פון סאַפּלאַמענטערי גרופּעס אַז דער פּראָצעס האט. ניצן די אין אָפּעראַטאָר צו פּרובירן פֿאַר די עלעמענטן. די פאלגענדע עלעמענטן זענען געראַנטיד צו זיין בנימצא:

פּראָקינפאָ ["עגיד"]

די ווערט פון די געטעגיד (2) סיסטעם רופן.

PROCINFO ["עיד"]

די ווערט פון די geteuid (2) סיסטעם רופן.

PROCINFO ["פס"]

"FS" אויב פעלד ספּליטינג מיט FS איז אין ווירקונג, אָדער "FIELDWIDTHS" אויב פעלד ספּליטינג מיט FIELDWIDTHS איז אין ווירקונג.

PROCINFO ["גיד"]

די ווערט פון די געטגיד (2) סיסטעם רופן.

פּראָקינפאָ ["פּגרפּיד"]

דער פּראָצעס גרופּע שייַן פון די קראַנט פּראָצעס.

פּראָקינפאָ ["פּיד"]

דער פּראָצעס שייַן פון דעם קראַנט פּראָצעס.

פּראָקינפאָ ["פּיפּיד"]

דער פאָטער פּראָצעס שייַן פון די קראַנט פּראָצעס.

PROCINFO ["uid"]

די ווערט פון די געטויד (2) סיסטעם רופן.

רס

דער אַרייַנשרייַב רעקאָרד סעפּאַראַטאָר, דורך פעליקייַט אַ נעוולינע.

רט

די רעקאָרד טערמינאַטאָר. גאַווק שטעלן רט צו די אַרייַנשרייַב טעקסט אַז מאַטשט די כאַראַקטער אָדער רעגולער אויסדרוק ספּעסאַפייד דורך רס .

RSTART

דער אינדעקס פון דער ערשטער כאַראַקטער גלייַכן דורך גלייַכן () ; 0 אויב קיין גלייַכן. (דאס מיינט אַז דער כאַראַקטער ינדיסיז אָנהייבן אין איין.)

RLENGTH

די לענג פון די שטריקל מאַטשט דורך גלייַכן () ; -1 אויב קיין גלייַכן.

SUBSEP

דער כאַראַקטער געניצט צו צעטיילן קייפל אַבאָנעקס אין מענגע עלעמענטן, דורך פעליקייַט "\ 034" .

TEXTDOMAIN

דער טעקסט פעלד פון די אַווק פּראָגראַם; געניצט צו געפינען די היגעייזד איבערזעצונגען פֿאַר די פּראָגראַם ס סטרינגס.

Arrays

אַררייַס זענען סאַבסקריפּשאַנז מיט אַן אויסדרוק צווישן קוואַדראַט בראַקאַץ ( [ און ] ). אויב די אויסדרוק איז אַן אויסדרוק רשימה ( expr , expr ...) דעמאָלט דער array subscriptcript is a string consisting of the concatenation of the (string) value of each expression, separated by the value of the SUBSEP variable. דעם מעכירעס איז געניצט צו סימאַלייטלי מאַלטאַפּאַדאַד דימענשאַנערי. פֿאַר בייַשפּיל:

איך = "א"; דזש = "ב"; ק = "C"
x [i, j, k] = "hello, world \ n"

אַסיינז די שטריקל "העלא, וועלט \ n" צו די עלעמענט פון די מענגע X וואָס איז ינדאַקייטיד דורך די שטריקל "א \ 034 ב \ 034 ק" . אַלע ערז אין ייווק זענען אַססאָסיאַטיווע, ד"ה ינדאַקייטיד דורך שטריקל וואַלועס.

דער ספעציעלער אָפּעראַטאָר קען זיין געניצט אין אַ אויב אָדער ווען דער ויסזאָגונג צו זען אויב אַ מענגע האט אַן אינדעקס וואָס איז קאָנסיסטעד פון אַ באַזונדער ווערט.

אויב (וואַלד אין מענגע) דרוקן array [וואַל]

אויב די מענגע האט קייפל סאַבסקריפּשאַנז, נוצן (i, j) אין מענגע .

די אין געבויט קען אויך זיין געניצט אין אַ פֿאַר שלייף צו יטעראַטע איבער אַלע די יסודות פון אַ מענגע.

א עלעמענט קען מען אויסהאַלטן פון אַן מענעדזשער מיט דער אויסלייג- דערקלערונג. די ויסזאָגונג ויסזאָגונג קען אויך זיין געניצט צו ויסמעקן די גאנצע אינהאַלט פון אַ מענגע, נאָר דורך ספּעסאַפייינג די מענגע נאָמען אָן אַ סובסקריפּט.

וואַריאַבלע טיפּינג און קאָנווערסיאָן

וואַריאַבאַלז און פעלדער קען זיין (פלאָוטינג פונט) נומערן, אָדער סטרינגס, אָדער ביידע. ווי די ווערט פון אַ בייַטעוודיק איז ינטערפּראַטאַד דעפּענדס אויף זייַן קאָנטעקסט. אויב געניצט אין אַ נומעריק אויסדרוק, עס וועט זיין באהאנדלט ווי אַ נומער, אויב געניצט ווי אַ שטריקל עס וועט זיין באהאנדלט ווי אַ שטריקל.

צו צווינגען אַ בייַטעוודיק צו זיין באהאנדלט ווי אַ נומער, לייגן 0 צו עס; צו קראַפט עס ווי אַ שטריקל, קאַנקאַטאַנייט עס מיט די נאַל שטריקל.

ווען אַ שטריקל מוזן זיין קאָנווערטעד צו אַ נומער, די קאַנווערזשאַן איז געמאכט דורך סטריטאָד (3). א נומער איז קאָנווערטעד צו אַ שטריקל דורך ניצן די ווערט פון קאָנוופמט ווי אַ פֿאָרמאַט שטריקל פֿאַר ספּרינטף (3), מיט די נומעריק ווערט פון די בייַטעוודיק ווי דער אַרגומענט. אָבער, כאָטש אַלע די נומערן אין אַווק זענען פלאָוטינג-פונט, ינטאַגראַל וואַלועס זענען קעסיידער קאָנקורענט ווי ינטאַדזשערז. אזוי, געגעבן

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

די בייַטעוודיק ב האט אַ שטריקל ווערט פון "12" און נישט "12.00" .

גאק גייט פארשפרייט ווי: אויב צוויי וועריאַבאַלז זענען נומעריק, זיי זענען קאַמפּערד נומעריקלי. אויב איינער ווערט איז נומעריק, און די אנדערע האט אַ שטריקל ווערט וואָס איז אַ `` נומעריק שטריקל, '' דעמאָלט קאַמפּעראַסאַנז זענען אויך געמאכט נומעריקלי. אַנדערש, די נומעריק ווערט איז קאָנווערטעד צו אַ שטריקל און אַ שטריקל פאַרגלייַך איז געטאן. צוויי סטרינגס זענען קאַמפּערד, פון קורס, ווי סטרינגס. באַמערקונג אַז די פּאָסיקס נאָרמאַל אַפּלייז דער באַגריף פון `` נומעריק שטריקל '' אומעטום, אַפֿילו צו שטריקל קאַנסטאַנץ. אָבער, דאָס איז קלאר פאַלש, און gawk טוט נישט טאָן דאָס. (גליק, דעם איז פאַרפעסטיקט אין דער ווייַטער ווערסיע פון ​​די סטאַנדאַרט.)

באַמערקונג אַז שטרענג קאַנסטאַנץ, אַזאַ ווי "57" , זענען נישט נומעריק סטרינגס, זיי זענען שטריקל קאַנסטאַנץ. דער געדאַנק פון `` נומעריק שטריקל '' נאָר אַפּלייז צו פעלדער, אָנלינע אַרייַנשרייַב, פילענאַמע , אַרגוו עלעמענטן, ענוויראָן עלעמענטן און די יסודות פון אַ מענגע באשאפן דורך שפּאַלטן () וואָס זענען נומעריק סטרינגס. די גרונט געדאַנק איז אַז באַניצער אַרייַנשרייַב , און נאָר באַניצער אַרייַנשרייַב, אַז קוקט נומעריק, זאָל זיין באהאנדלט אַז וועג.

וניניטיאַליזעד וועריאַבאַלז האָבן די נומעריק ווערט 0 און די שטריקל ווערט "" (די נאַל, אָדער ליידיק, שטריקל).

אקטאבער און העקסאַדעסימאַל קאָנסטאַנץ

סטאַרטינג מיט ווערסיע 3.1 פון גאַק, איר קען נוצן C-נוסח אָקטאַל און העקסאַדעסימאַל קאַנסטאַנץ אין דיין אַווק פּראָגראַם מקור קאָד. פֿאַר בייַשפּיל, די אָקטאַל ווערט 011 איז גלייַך צו דעצימאַל 9 , און די העקסאַדעסימאַל ווערט 0 קס 11 איז גלייַך צו דעצימאַל 17.

סטרינג קאָנסטאַנץ

שטרענג קאַנסטאַנץ אין אַווק זענען סיקוואַנסיז פון אותיות אַרייַנגערעכנט צווישן טאָפּל ציטירט ( " ). ין סטרינגס, עטלעכע אַנטלויפן סיקוואַנסיז זענען אנערקענט, ווי אין סי די ביסט:

\\

א ליטעראַל באַקסלאַש.

\ a

די `` פלינק '' כאַראַקטער; יוזשאַוואַלי די ייסאַס בעל כאַראַקטער.

\ b

backspace.

\ f

פאָרעם-פיטער.

\ n

newline.

\ r

וועגעלע צוריקקומען.

\ t

האָריזאָנטאַל קוויטל.

\ v

ווערטיקאַל קוויטל.

\ x העקס דידזשאַץ

דער כאַראַקטער רעפּריזענטיד דורך די שטריקל פון העקסאַדעסימאַל דידזשאַץ נאָך די \ X. ווי אין ANSIC, אַלע די פאלגענדע כעקסאַדעקימאַל דידזשאַץ זענען געהאלטן טייל פון די אַנטלויפן סיקוואַנס. (דעם שטריך זאָל אונדז דערציילן עפּעס וועגן שפּראַך פּלאַן דורך קאַמיטי.) Eg, "\ x1B" איז די ASCIIESC (אַנטלויפן) כאַראַקטער.

\ ddd

דער כאַראַקטער רעפּריזענטיד דורך די 1-, 2-, אָדער 3-ציפֿער סיקוואַנס פון אָקטאַל דידזשאַץ. למשל, "\ 033" איז די ASCII ESC (אַנטלויפן) כאַראַקטער.

\ c

די ליטעראַל כאַראַקטער c .

די אַנטלויפן סיקוואַנסיז קען אויך זיין געוויינט ין קעסיידערדיק רעגולער אויסדרוקן (למשל, / [\ t \ f \ n \ r \ v] / שוועבעלעך ווהיטעספּאַסע אותיות).

אין קאַמפּאַטאַבילאַטי מאָדע, די אותיות רעפּריזענטיד דורך אָקטאַל און העקסאַדעסימאַל אַנטלויפן סיקוואַנסיז זענען באהאנדלט ממש ווען געניצט אין רעגולער אויסדרוק קאַנסטאַנץ. אזוי, / אַ \ 52 ב / איז עקוויוואַלענט צו / אַ \ * b / .

מוסטער און אַקטיאָנס

אַווק איז אַ שורה אָריענטיד שפּראַך. דער מוסטער קומט ערשטער, און דעמאָלט דער קאַמף. קאַמף סטייטמאַנץ זענען ענקלאָוזד אין { און } . אָדער דער מוסטער זאל זיין פעלנדיק, אָדער דער קאַמף קען זיין פעלנדיק, אָבער, פון קורס, ניט ביידע. אויב דער מוסטער איז פעלנדיק, די אַקציע איז עקסאַקיוטאַד פֿאַר יעדער איין רעקאָרד פון אַרייַנשרייַב. א פעלנדיק קאַמף איז עקוויוואַלענט צו

{print}

וואָס דרוקן די גאנצע רעקאָרד.

באַמערקונגען אָנהייבן מיט די `` # '' כאַראַקטער, און פאָרזעצן ביז די סוף פון די שורה. בלאַנק שורות קענען זיין געניצט צו באַזונדער סטייטמאַנץ. נאָרמאַללי, אַ דערקלערונג ענדס מיט אַ נעוולינע, אָבער, דאָס איז נישט דער פאַל פֿאַר שורות סאָף אין אַ ``, '', { , ? , : , && , אָדער || . לינעס ענדיקן אין טאָן אָדער אַנדערש אויך זייער סטייטמאַנץ אויטאָמאַטיש פארבליבן אויף די פאלגענדע שורה. אין אנדערע קאַסעס, אַ שורה קענען זיין פארבליבן דורך ענדיקן עס מיט אַ ', אין וועלכע פאַל די נעוולינע וועט זיין איגנאָרירט.

קייפל סטייטמאַנץ קענען זיין שטעלן אויף איין שורה דורך סעפּערייטינג זיי מיט אַ ``, ''. דאס אַפּלייז צו ביידע די סטייטמאַנץ ין דער קאַמף טייל פון אַ מוסטער-קאַמף פּאָר (די געוויינטלעך פאַל), און צו די מוסטער-קאַמף סטייטמאַנץ זיך.

פּאַטטערנס

אַווק פּאַטערנז קען זיין איינער פון די פאלגענדע:

אָנהייב אָנהייב / רעגולער אויסדרוק / ריליישאַנאַל אויסדרוק מוסטער & & מוסטער מוסטער || מוסטער מוסטער ? מוסטער : מוסטער ( מוסטער ) ! מוסטער מוסטער 1 , pattern2

אָנהייב און סוף זענען צוויי ספּעציעל מינים פון פּאַטערנז וואָס זענען נישט טעסטעד קעגן די אַרייַנשרייַב. די קאַמף טיילן פון אַלע BEGIN פּאַטערנז זענען פיילד ווי אויב אַלע די סטייטמאַנץ זענען געשריבן אין אַ איין אָנהייב בלאָק. זיי זענען עקסאַקיוטיד איידער קיין פון די אַרייַנשרייַב איז לייענען. סימילאַרלי, אַלע די ענד בלאַקס זענען מערדזשד, און עקסאַקיוטאַד ווען אַלע די אַרייַנשרייַב איז ויסגעמאַטערט (אָדער ווען אַ אַרויסגאַנג ויסזאָגונג איז עקסאַקיוטיד). אָנהייב און סוף מוסטער קענען ניט זיין קאַמביינד מיט אנדערע פּאַטערנז אין מוסטער ויסדרוקן. אָנהייב און ענד מוסטער קענען נישט האָבן די פעלנדיק קאַמף טיילן.

פֿאַר / רעגולער אויסדרוק / פּאַטערנז, די פארבונדן ויסזאָגונג איז עקסאַקיוטאַד פֿאַר יעדער אַרייַנשרייַב רעקאָרד אַז שוועבעלעך די רעגולער אויסדרוק. רעגולער אויסדרוקן זענען די זעלבע ווי די אין עגרעפּ (1), און זענען סאַמערייזד ונטער.

א ריליישאַנאַל אויסדרוק קען נוצן קיין אָפּערייטערז אונטער די אָפּטיילונג אויף אַקשאַנז. די בכלל פּרובירן אויב זיכער פעלדער גלייַכן זיכער רעגולער אויסדרוקן.

די && , || , און ! אָפּערייטערז זענען לאַדזשיקאַל און לאַדזשיקאַל OR, און לאַדזשיקאַל ניט, ריספּעקטיוולי, ווי אין סי זיי טאָן קורץ קרייַז אפשאצונג, אויך ווי אין C, און זענען געניצט פֿאַר קאַמביינינג מער פּרימיטיוו מוסטער אויסדרוקן. ווי אין רובֿ שפּראַכן, קלאַמז קענען ווערן גענוצט צו טוישן די סדר פון אפשאצונג.

די ?: אָפּעראַטאָר איז ווי דער זעלביקער אָפּעראַטאָר אין סי אויב דער ערשטער מוסטער איז אמת און די מוסטער געניצט פֿאַר טעסטינג איז דער צווייט מוסטער, אַנדערש עס איז די דריט. בלויז איינער פון די רגע און דריט פּאַטערנז איז עוואַלואַטעד.

דער מוסטער1 , pattern2 פאָרעם פון אַן אויסדרוק איז גערופן אַ קייט מוסטער . עס שוועבעלעך אַלע אַרייַנשרייַב רעקאָרדס סטאַרטינג מיט אַ רעקאָרד אַז שוועבעלעך מוסטער1 , און קאַנטיניוינג ביז אַ רעקאָרד אַז שוועבעלעך מוסטער 2 , ינקלוסיוו. עס קען נישט פאַרבינדן קיין אנדערע סאָרט אויסזען.

רעגולער עקספּרעססיאָנס

רעגולער אויסדרוקן זענען די עקסטענדעד מין געפונען אין עגיפּ . זיי זענען פארלאנגט פון אותיות ווי גייט:

c

גלייַכן די ניט-מעטאַטשאַראַקטער C.

\ c

גלייַכן די פּסיכיש כאַראַקטער c .

.

גלייַכן קיין כאַראַקטער אַרייַנגערעכנט נעוולינע.

^

גלייַכן די אָנהייב פון אַ שטריקל.

$

גלייַכן די סוף פון אַ שטריקל.

[ אַבק ... ]

כאַראַקטער רשימה, שוועבעלעך קיין פון די אותיות אַבק ....

[^ abc ... ]

ניגאַטעד כאַראַקטער רשימה, שוועבעלעך קיין כאַראַקטער אַחוץ אַבק ....

r1 | r2

אָלטערניישאַן: שוועבעלעך אָדער ר 1 אָדער ר 2 .

r1r2

קאַנקאַטאַניישאַן: שוועבעלעך ר 1 , און דעמאָלט ר 2 .

r +

גלייַכן איינער אָדער מער ר 's.

r *

גלייַכן נול אָדער מער ר 's.

r ?

שוועבעלעך נול אָדער איינער ר 's.

( ר )

גרופּינג: שוועבעלעך ר .

r { n }

r { n ,}

ר { n , עם } איין אָדער צוויי נומערן ין ברייסאַז דינען אַ מעהאַלעך אויסדרוק . אויב עס איז איין נומער אין די ברייסאַז, די פּריסידינג רעגולער אויסדרוק ר איז ריפּיטאַד n מאל. אויב עס זענען צוויי נומערן אפגעשיידט דורך אַ קאָמע, ר איז ריפּיטיד n צו עם מאל. אויב עס איז איין נומער נאכגעגאנגען דורך אַ קאָמע, דעמאָלט ר איז ריפּיטיד לפּחות n מאל.

ינטערוואַלז זענען בלויז בנימצא אויב איינער - פּאַסיקס אָדער -רע-ינטערוואַל איז ספּעסאַפייד אויף די באַפֿעל שורה.

\ y

גלייַכן די ליידיק שטריקל אין די אָנהייב אָדער די סוף פון אַ וואָרט.

\ B

גלייַכן די ליידיק שטריקל ין אַ וואָרט.

\ <

גלייַכן די ליידיק שטריקל אין די אָנהייב פון אַ וואָרט.

\>

גלייַכן די ליידיק שטריקל אין די סוף פון אַ וואָרט.

\ w

גלייַכן קיין וואָרט-קאַנסטיטשואַנאַל כאַראַקטער (בריוו, ציפֿער, אָדער אַנדערסקאָר).

\ W

גלייַכן קיין כאַראַקטער וואָס איז נישט וואָרט-קאַנסטיטשואַנץ.

\ `

גלייַכן די ליידיק שטריקל אין די אָנהייב פון אַ באַפער (שטריקל).

\ '

גלייַכן די ליידיק שטריקל אין די סוף פון אַ באַפער.

די אַנטלויפן סיקוואַנסיז וואָס זענען גילטיק אין שטריקל קאַנסטאַנץ (זען אונטן) זענען אויך גילטיק אין רעגולער אויסדרוקן.

כאַראַקטער קלאסן זענען אַ נייע שטריך באַקענענ אין די פּאַסי נאָרמאַל. א כאַראַקטער קלאַס איז אַ ספּעציעל נאָוטיישאַן פֿאַר דיסקרייבינג רשימות פון אותיות וואָס האָבן אַ ספּעציפיש אַטריביוט, אָבער ווו די פאַקטיש אותיות זיך קענען בייַטן פון לאַנד צו לאַנד און / אָדער פון כאַראַקטער באַשטימט צו כאַראַקטער שטעלן. פֿאַר בייַשפּיל, דער געדאנק פון וואָס איז אַן אַלפאַבעטיק כאַראַקטער איז אַנדערש אין די USA און אין פֿראַנקרייַך.

א כאַראַקטער קלאַס איז בלויז גילטיק אין אַ רעגולער אויסדרוק ין די בראַקאַץ פון אַ כאַראַקטער רשימה. כאַראַקטער קלאסן צונויפשטעלנ זיך פון [: , אַ קיווערד דינאָוטינג די קלאַס, און :] . די פּאַרשוין קלאסן דיפיינד דורך די פּאַסי נאָרמאַל זענען:

[: alnum:]

אַלפאַנומעריק אותיות.

[: alpha:]

אַלפאַבעטיק אותיות.

[: blank:]

ספעיס אָדער קוויטל אותיות.

[: cntrl:]

קאָנטראָל אותיות.

[: ציפֿער:]

נומעריק אותיות.

[: graph:]

אותיות וואָס זענען ביידע פּרינטאַבאַל און קענטיק. (א פּלאַץ איז פּרינטאַבאַל, אָבער ניט קענטיק, אָבער ביי אַ איז ביידע.)

[: lower:]

נידעריקער-פאַל אַלפאַבעטיק אותיות.

[: print:]

פּרינטאַבאַל אותיות (אותיות וואָס זענען נישט קאָנטראָל אותיות.)

[: פּונקט:]

פּונקטואַטיאָן אותיות (אותיות וואָס זענען נישט בריוו, דידזשאַץ, קאָנטראָל אותיות אָדער אָרט אותיות).

[: space:]

ספעיס אותיות (אַזאַ ווי פּלאַץ, קוויטל, און פאָרמפעעד, צו נאָמען אַ ביסל).

[: upper:]

אויבערשטער-פאַל אַלפאַבעטיק אותיות.

[: xdigit:]

אותיות וואָס זענען העקסאַדעסימאַל דידזשאַץ.

פֿאַר בייַשפּיל, איידער די פּאָסיקס נאָרמאַל, צו גלייַכן אַלפאַנומעריק אותיות, איר וואָלט האָבן צו שרייַבן / [א-זאַ-ז0-9] / . אויב דיין כאַראַקטער באַשטימט האט אנדערע אַלפאַבעטיק אותיות אין עס, דאָס וואָלט נישט גלייַכן זיי, און אויב דיין כאַראַקטער שטעלן אַנדערש פון ASCII, דאָס קען נישט אַפֿילו גלייַכן די ASCII אַלפאַנומעריק אותיות. מיט די פּאָסיקס כאַראַקטער קלאסן, איר קענען שרייַבן / [[: alnum:]] / , און דאָס גלייַכן די אַלפאַבעטיק און נומעריק אותיות אין דיין כאַראַקטער שטעלן.

צוויי נאָך ספּעציעלע סיקוואַנסיז קענען דערשייַנען אין כאַראַקטער רשימות. דאס אַפּלייז צו ניט-ASCII כאַראַקטער שטעלט, וואָס קענען האָבן איין סימבאָלס (גערופן קאָללאַטינג עלעמענטן ) וואָס זענען רעפּריזענטיד מיט מער ווי איין כאַראַקטער, ווי געזונט ווי עטלעכע אותיות וואָס זענען עקוויוואַלענט פֿאַר קאָללאַטינג , אָדער סאָרטינג, צוועקן. (למשל, אין פראנצויזיש, אַ קלאָר `` E '' און אַ גרוב-אַקסענטיד ע `זענען עקוויוואַלענט.)

קאָללאַטינג סימבאָלס

א קאָללאַטינג סימבאָל איז אַ מאַלטי-כאַראַקטער קאָללאַטינג עלעמענט ענקלאָוזד אין [. און .] . פֿאַר בייַשפּיל, אויב טש איז אַ קאָללאַטינג עלעמענט, [[.ch.]] איז אַ רעגולער אויסדרוק אַז שוועבעלעך דעם קאָללאַטינג עלעמענט, בשעת [טש] איז אַ רעגולער אויסדרוק אַז שוועבעלעך אָדער C אָדער ה .

Equivalence Classes

א עקוויוואַלאַנס קלאַס איז אַ לאָקאַלע-ספּעציפיש נאָמען פֿאַר אַ רשימה פון אותיות וואָס זענען עקוויוואַלענט. דער נאָמען איז ענקלאָוזד אין [= און =] . למשל, דער נאָמען E קען ווערן גענוצט צו פאָרשטעלן אַלע פון ​​`` E, '' `E ',' 'און` `e`.' 'אין דעם פאַל, [[= E =]] איז אַ רעגולער אויסדרוק אַז שוועבעלעך קיין E , E ' , אָדער E- ` .

די פֿעיִקייטן זענען זייער ווערטפול אין ניט-ענגליש רעדן היגע. די ביבליאָטעק פאַנגקשאַנז אַז גאַקק ניצט פֿאַר רעגולער אויסדרוק וואָס ריכטן זיך בלויז דערקענען פּאָסיקס כאַראַקטער קלאסן; זיי טאָן ניט דערקענען קאָללאַטינג סימבאָלס אָדער עקוויוואַלאַנס קלאסן.

די \ י , \ B , \ < , \> , \ וו , \ וו , \ ` , און \ אָפּערייטערז זענען ספּעציפיש צו גאַקק ; זיי זענען יקסטענשאַנז באזירט אויף פאַסילאַטיז אין די גנו רעגולער אויסדרוק לייברעריז.

די פאַרשידן באַפֿעלן שורה אָפּציעס קאָנטראָלירן ווי גאק ינטערפּראַץ אותיות אין רעגולער אויסדרוקן.

קיין אָפּציעס

אין די פעליקייַט פאַל, gawk צושטעלן אַלע די פאַסילאַטיז פון פּאָזיקס רעגולער אויסדרוקן און דיGNU רעגולער אויסדרוק אָפּערייטערז דיסקרייבד אויבן. אָבער, ינטערוואַלז זענען נישט געשטיצט.

--posix

נאָר POSIX רעגולער אויסדרוקן זענען געשטיצט, די GNU אָפּערייטערז זענען נישט ספּעציעל. (למשל, \ w גלייַכן אַ פּסיכיש וו ). ינטערוואַלז זענען ערלויבט.

- טראַדיציאָנעל

טראַדיציאָנעל יוניקס אַווק רעגולער אויסדרוקן זענען מאַטשט. די גנו אָפּערייטערז זענען נישט ספּעציעל, ינטערוואַלז זענען נישט בנימצא, און ניט די פּאָסיקס כאַראַקטער קלאסן ( [[: אַלנום:]] און אַזוי אויף). אותיות דיסקרייבד דורך אָקטאַל און העקסאַדעסימאַל אַנטלויפן סיקוואַנסיז זענען באהאנדלט ממש, אַפֿילו אויב זיי פאָרשטעלן רעגולער אויסדרוק מעטאַטשאַראַקטערס.

-איין ינטערוואַלז

צושטעלן ינטערוואַלז אין רעגולער אויסדרוק, אַפֿילו אויב - טראַדישאַנאַל איז צוגעשטעלט.

אַקטיאָנס

קאַמף סטייטמאַנץ זענען ענקלאָוזד אין ברייסאַז, { און } . קאַמף סטייטמאַנץ צונויפשטעלנ זיך פון די געוויינטלעך אַסיינמאַנט, קאַנדישאַנאַל, און לופּינג סטייטמאַנץ געפונען אין רובֿ שפּראַכן. די אָפּערייטערז, קאָנטראָלירן סטייטמאַנץ, און אַרייַנשרייַב / רעזולטאַט סטייטמאַנץ בנימצא זענען געבראכט נאָך די אין C.

Operators

די אָפּערייטערז אין אַווק, אין סדר פון דיקריסינג פאָרויס, זענען

( ... )

גראָוינג

$

פעלד רעפֿערענץ.

++ -

ינקרעמענט און דעקרעמענט, ביידע פּרעפיקס און פּאָסטפיקס.

^

עקספּאָנענטיאַטיאָן ( ** קען אויך זיין געניצט, און ** = פֿאַר די אַסיינמאַנט אָפּעראַטאָר).

+ -!

ונאַרי פּלוס, ונאַרי מינוס, און לאַדזשיקאַל נעגאַטיווע.

* /%

מולטיפּליקאַטיאָן, אָפּטייל און מאָדולוס.

+ -

דערצו און כיסער.

space

שטריקל קאַנקאַטאַניישאַן.

<>

<=> =

! = == די רעגולער ריליישאַנאַל אָפּערייטערז.

~! ~

רעגולער אויסדרוק גלייַכן, נעגאַטיווע גלייַכן. נאָטיץ: דו זאלסט נישט נוצן אַ קעסיידערדיק רעגולער אויסדרוק ( / פאָאָ / ) אויף דער לינקער זייַט פון אַ ~ אָדער ! ~ . נאָר נוצן איינער אויף די רעכט זייַט. די אויסדרוק / פאָאָ / ~ עקספּ האט די זעלבע טייַטש ווי (($ 0 ~ / פו /) ~ עקספּ ) . דאס איז יוזשאַוואַלי ניט וואָס איז געווען דיזיינד.

אין

Array membership.

&&

לאָגיקאַל און.

||

לאָגיקאַל OR.

?:

די C קאַנדישאַנאַל אויסדרוק. דעם האט די פאָרעם עקספּר 1 ? expr2 : expr3 . אויב עקספּר 1 איז אמת, די ווערט פון די אויסדרוק איז עקספּר 2 , אַנדערש עס איז עקספּר 3 . בלויז איינער פון עקספּר 2 און עקספּר 3 איז עוואַלואַטעד.

= + = - =

* = / =% = ^ = אַסיינמאַנט. ביידע אַבסאָלוט אַסיינמאַנט ( var = ווערט ) און אָפּעראַטאָר-אַסיינמאַנט (די אנדערע פארמען) זענען געשטיצט.

קאָנטראָל סטאַטעמענץ

די קאָנטראָל סטייטמאַנץ זענען ווי גייט:

אויב ( צושטאַנד ) דערקלערונג [ אַנדערש דערקלערונג ] בשעת ( צושטאַנד ) דערקלערונג טאָן ויסזאָגונג בשעת ( צושטאַנד ) פֿאַר ( expr1 ; expr2 ; expr3 ) דערקלערונג פֿאַר ( var in array ) ויסזאָגונג ברעכן פאָרזעצן delete array [ אינדעקס ] delete array exit [ expression ] סטייטמאַנץ }

איך / אָ סטאַטעמענץ

די אַרייַנשרייַב / רעזולטאַט סטייטמאַנץ זענען ווי גייט:

נאָענט ( טעקע [ , ווי ]

נאָענט טעקע, רער אָדער קאָ-פּראָצעס. די אָפּטיאָנאַל ווי זאָל נאָר זיין געניצט ווען קלאָוזינג איינער סוף פון אַ צוויי-וועג רער צו אַ קאָ-פּראָצעס. עס מוזן זיין אַ שטריקל ווערט, אָדער "צו" אָדער "פון" .

getline

שטעלן $ 0 פון ווייַטער אַרייַנשרייַב רעקאָרד; שטעלן נף , נר , פנר .

getline < טעקע

שטעלן $ 0 פון ווייַטער רעקאָרד פון טעקע ; שטעלן נף .

getline var

שטעלן וואַר פון ווייַטער אַרייַנשרייַב רעקאָרד; שטעלן נר , פנר .

גאַטלינע וואַר < טעקע

שטעלן וואַר פון ווייַטער רעקאָרד פון טעקע .

command | getline [ var ]

לויפן באַפֿעלן פּייפּינג די פּראָדוקציע אָדער אין $ 0 אָדער וואַר , ווי אויבן.

commando | & getline [ var ]

לויפן באַפֿעלן ווי אַ קאָ-פּראָצעס פּייפּינג די פּראָדוקציע אָדער אין $ 0 אָדער וואַר , ווי אויבן. קאָ-פּראַסעסאַז זענען אַ גאַק עקסטענסיאָן.

ווייַטער

האַלטן די קראַנט אַרייַנשרייַב רעקאָרד. דער ווייַטער אַרייַנשרייַב רעקאָרד איז לייענען און פּראַסעסינג סטאַרץ מיט די ערשטער מוסטער אין די אַווק פּראָגראַם. אויב די סוף פון די אַרייַנשרייַב דאַטן איז ריטשט, די סוף בלאָק (s), אויב עס איז קיין, זענען עקסאַקיוטאַד.

nextfile

האַלטן פּראַסעסינג די קראַנט אַרייַנשרייַב טעקע. דער ווייַטער אַרייַנשרייַב רעקאָרד לייענען קומט פון דער ווייַטער אַרייַנשרייַב טעקע. FILENAME און ARGIND זענען דערהייַנטיקט, FNR איז באַשטעטיק צו 1, און פּראַסעסינג סטאַרץ מיט די ערשטער מוסטער אין די אַווק פּראָגראַם. אויב די סוף פון די אַרייַנשרייַב דאַטן איז ריטשט, די סוף בלאָק (s), אויב עס איז קיין, זענען עקסאַקיוטאַד.

דרוק

דרוק די קראַנט רעקאָרד. דער רעזולטאַט רעקאָרד איז טערמאַנייטיד מיט די ווערט פון די אָרס בייַטעוודיק.

דרוק עקספּרעסס-רשימה

פּרינץ אויסדרוקן. יעדער אויסדרוק איז אפגעשיידט דורך די ווערט פון די אָפס בייַטעוודיק. דער רעזולטאַט רעקאָרד איז טערמאַנייטיד מיט די ווערט פון די אָרס בייַטעוודיק.

דרוק עקספּרעסס-רשימה > טעקע

פּרינץ אויסדרוקן אויף טעקע . יעדער אויסדרוק איז אפגעשיידט דורך די ווערט פון די אָפס בייַטעוודיק. דער רעזולטאַט רעקאָרד איז טערמאַנייטיד מיט די ווערט פון די אָרס בייַטעוודיק.

printf fmt, expr-list

פֿאָרמאַטירונג און דרוקן.

printf fmt, expr-list > טעקע

פֿאָרמאַטירונג און דרוקן אויף טעקע .

סיסטעם ( קמד-שורה )

ויספירן די באַפֿעל קמד-שורה און צוריקקומען די אַרויסגאַנג סטאַטוס. (דאָס קען נישט זיין בנימצא אויף ניט-פּאָסיקס סיסטעמס.)

fflush ( [ טעקע ] )

מאַכט קיין באַפערז פארבונדן מיט די עפענען רעזולטאַט טעקע אָדער רער טעקע . אויב טעקע איז פעלנדיק, דעמאָלט די נאָרמאַל רעזולטאַט איז פלאָוסט. אויב טעקע איז די נאַל שטריקל, דעמאָלט אַלע עפענען רעזולטאַט טעקעס און פּייפּס האָבן זייער באַפערז פלאַשט.

נאָך רעזולטאַט רעדירעקטיאָנס זענען ערלויבט פֿאַר דרוקן און פּרינטף .

דרוק ... >> טעקע

אַפּפּענדז רעזולטאַט צו דער טעקע .

דרוק ... | באַפֿעל

שרייבט אויף אַ רער.

דרוקן ... | & באַפֿעל

סענדז דאַטן צו אַ קאָ-פּראָצעס.

די פעלן באַפֿעל קערט 0 אויף סוף פון טעקע און -1 אויף אַ טעות. אויף אַ טעות עררנאָ כּולל אַ שטריקל דיסקרייבינג די פּראָבלעם.

נאָטיץ: אויב ניצן אַ רער אָדער קאָ-פּראָצעס צו גלייבן , אָדער פון דרוק אָדער פּרינטף ין אַ שלייף, איר מוזן נוצן נאָענט () צו שאַפֿן נייַ ינסטאַנסיז פון די באַפֿעל. אווק טוט נישט אויטאָמאַטיש נאָענט פּייפּס אָדער קאָ-פּראַסעסאַז ווען זיי צוריקקומען עאָף.

די פּרינטף סטאַטעמענט

די אַווק ווערסיעס פון די דרוק ויסזאָגונג און ספּרינטף () פונקציאָנירן (זען ווייטער) אָננעמען די פאלגענדע קאַנווערזשאַן באַשרייַבונג פֿאָרמאַטירונגען:

% c

אַ ASCII כאַראַקטער. אויב דער אַרגומענט געניצט פֿאַר % C איז נומעריק, עס איז באהאנדלט ווי אַ כאַראַקטער און געדרוקט. אַנדערש, די אַרגומענט איז אנגענומען צו אַ שטריקל, און די בלויז ערשטער כאַראַקטער פון דעם שטריקל איז געדרוקט.

% d , % i

א דעצימאַל נומער (די ינטעגער טייל).

% E,% E

א פלאָוטינג פונט נומער פון די פאָרעם [-] דדדדדדדע [+ -] דד . דער % E פֿאָרמאַט ניצט E אַנשטאָט פון E-

% f

א פלאָוטינג פונט נומער פון די פאָרעם [-] דדד.דדדדדד .

% ג,% ג

ניצן % E אָדער % f קאַנווערזשאַן, וועלכער איז קירצער, מיט נאַנסיפיקאַנטאַנט זעראָס סאַפּרעסט. דער % G פֿאָרמאַט ניצט % E אַנשטאָט פון % e .

% o

אַ אַנסיינד אָקטאַל נומער (אויך אַ ינטעגער).

% u אַ אַנסיינד דעצימאַל נומער (ווידער, אַ ינטעגער).

% s

א כאַראַקטער שטריקל.

% x,% X

אַ אַנסיינד העקסאַדעסימאַל נומער (אַן ינטאַדזשער). די % X פֿאָרמאַט ניצט אַבקדעף אַנשטאָט פון אַבקדעף .

%%%

א איין % כאַראַקטער; קיין אַרגומענט איז קאָנווערטעד.

אָפּטיאָנאַל, נאָך פּאַראַמעטערס קען זיין ליגן צווישן די % און די קאָנטראָל בריוו:

ציילן $

ניצן די ציילן 'טה אַרגומענט בייַ דעם פונט אין די פאָרמאַטטינג. דאס איז גערופן אַ פּאָסיטיווע ספּעסיפיקאַטאָר און איז בדעה פֿאַר ביכולת צו נוצן אין איבערגעזעצט פֿאָרמאַטירונגען פון פֿאָרמאַטירונגען, ניט אין דער אָריגינעל טעקסט פון אַן אווק פּראָגראַם. עס איז אַ גאַק עקסטענסיאָן.

-

דער אויסדרוק זאָל זיין לינקס-גערעכטפארטיקט אין זייַן פעלד.

space

פֿאַר נומעריק קאַנווערזשאַנז, פּרעפיקס positive וואַלועס מיט אַ פּלאַץ, און נעגאַטיוו וואַלועס מיט אַ מינוס צייכן.

+

דער פּלוס צייכן, געניצט איידער די ברייט מאָדיפיער (זען ווייטער), זאגט שטענדיק צושטעלן אַ צייכן פֿאַר נומעריק קאַנווערזשאַנז, אַפֿילו אויב די דאַטן צו זיין פאָרמאַטטעד איז positive. די + אָוווערריידז די פּלאַץ מאָדיפיער.

#

ניצן אַ `` אָפּלייקענונג '' פֿאַר זיכער קאָנטראָל אותיות. פֿאַר % אָ , צושטעלן אַ לידינג נול. פֿאַר % x , און % X , צושטעלן אַ לידינג 0 קס אָדער 0 קס פֿאַר אַ נאָנזעראָ רעזולטאַט. פֿאַר % E , % E , און % f , דער רעזולטאַט שטענדיק כּולל אַ דעצימאַל פונט. פֿאַר % ג , און % ג , טריילינג זעראָס זענען נישט אראפגענומען פון די רעזולטאַט.

0

א לידינג 0 (נול) אקטן ווי אַ פאָן, וואָס ינדיקייץ רעזולטאַט זאָל זיין פּאַדאַד מיט זראָוז אַנשטאָט פון ספּייסאַז. דעם אַפּלייז אפילו צו ניט-נומעריק רעזולטאַט פֿאָרמאַטירונגען. דעם פאָן בלויז האט אַ ווירקונג ווען די פעלד ברייט איז מער ווי די ווערט צו זיין געדרוקט.

ברייט

דער פעלד זאָל זיין פּאַדאַד צו דעם ברייט. די פעלד איז נאָרמאַלי פּאַדיד מיט ספּייסאַז. אויב די 0 פאָן איז געניצט, עס איז פּאַדאַד מיט נאַראָוז.

. prec

א נומער וואָס גיט די פּינטלעכקייַט צו נוצן ווען דרוקן. פֿאַר די % E , % E , און % f פֿאָרמאַטירונגען, דאָס דיליאַטייץ די נומער פון דידזשאַץ איר ווילן צו דרוקן רעכט צו די דעצימאַל פונט. פֿאַר די % ג , און % G פאָרמאַץ, עס ספּעסאַפייז די מאַקסימום נומער פון באַטייַטיק דידזשאַץ. פֿאַר די % d , % o , % i , % u , % x , און % X פאָרמאַץ, עס ספּעסאַפייז די מינימום נומער פון דידזשאַץ צו דרוקן. פֿאַר % s , עס ספּעסאַפייז די מאַקסימום נומער פון אותיות וואָס זאָל זיין געדרוקט.

די דינאַמיש ברייט און פּרעק קייפּאַבילאַטיז פון די ANSI C printf () רוטינז זענען געשטיצט. א * אין פּלאַץ פון אָדער די ברייט אָדער פּרעס ספּעסאַפאַקיישאַנז ז זייער וואַלועס צו זיין גענומען פון די אַרגומענט רשימה צו פּרינטף אָדער ספּרינטף () . צו נוצן אַ פּאָסיטיווע ספּעסיפיקאַטאָר מיט אַ דינאַמיש ברייט אָדער פּינטלעכקייַט, צושטעלן די ציילן $ נאָך דעם * אין די פֿאָרמאַט שטריקל. למשל, "% 3 $ * 2 $. * 1 $ s" .

ספּעציעלע טעקע נעמען

ווען טאן איך / אָ רידערעקשאַן פון יעדער דרוק אָדער פּרינטף אין אַ טעקע, אָדער דורך גלייבן פון אַ טעקע, gawk אנערקענט עטלעכע ספּעציעל פילענאַמעס ינעווייניק. די פילענאַמז לאָזן צוטריט צו עפענען טעקע דעסקריפּטאָרס ינכעראַטיד פון גאק 'ס פאָטער פּראָצעס (יוזשאַוואַלי די שאָל). די טעקע נעמען קען אויך זיין געניצט אויף דעם באַפֿעל שורה צו נאָמען דאַטן טעקעס. די פילענאַמעס זענען:

/ dev / stdin

דער נאָרמאַל אַרייַנשרייַב.

/ dev / stdout

דער נאָרמאַל פּראָדוקציע.

/ dev / stderr

דער נאָרמאַל טעות רעזולטאַט.

/ dev / fd / n

דער טעקע פארבונדן מיט די עפענען טעקע דעסקריפּטאָר ען .

דאָס איז ספּעציעל נוציק פֿאַר טעות אַרטיקלען. פֿאַר בייַשפּיל:

דרוק "איר געבלאזן עס!" > "/ dev / stderr"

כאָטש איר וואָלט אַנדערש האָבן צו נוצן

דרוק "איר געבלאזן עס!" | "קאַץ 1> & 2"

די פאלגענדע ספּעציעל פילענאַמעס קענען זיין געוויינט מיט די | & קאָו-פּראָצעס אָפּעראַטאָר פֿאַר שאפן TCP / IP נעץ קאַנעקשאַנז.

/ ינעט / טקפּ / לפּאָרט / רהאָסט / ראָר

טעקע פֿאַר טקפּ / יפּ קאַנעקשאַן אויף היגע פּאָרט לאָרט צו ווייַט באַלעבאָס רהאָסט אויף ווייַט פּאָרט רפּאָרט . ניצן אַ פּאָרט פון 0 צו האָבן די סיסטעם קלייַבן אַ פּאָרט.

/ ינעט / ודפּ / לפּאָרט / רהאָסט / רייל

ענלעך, אָבער נוצן UDP / IP אַנשטאָט פון טקפּ / יפּ.

/ ינעט / רוי / לפּאָרט / רהאָסט / רייל

רעסערוועד פֿאַר צוקונפֿט נוצן.

אנדערע ספּעציעל פילענאַמעס צושטעלן צוטריט צו אינפֿאָרמאַציע וועגן די פליסנדיק גאַעק פּראָצעס. די פילענאַמעס זענען איצט פאַרעלטערט. ניצן די PROCINFO מענגע צו באַקומען די אינפֿאָרמאַציע זיי צושטעלן. די פילענאַמעס זענען:

/ dev / pid

לייענען דעם טעקע קערט דער פּראָצעס שייַן פון דעם קראַנט פּראָצעס, אין דעצימאַל, טערמאַנייטיד מיט אַ נעוולינע.

/ דעוו / פּאָפּיד

לייענען דעם טעקע קערט דער פאָטער שייַן פון דעם קראַנט פּראָצעס, אין דעצימאַל, טערמאַנייטיד מיט אַ נעוולינע.

/ dev / pgrpid

לייענען דעם טעקע קערט דער פּראָצעס גרופּע שייַן פון דעם קראַנט פּראָצעס, אין דעצימאַל, טערמאַנייטיד מיט אַ נעוולינע.

/ dev / user

לייענען דעם טעקע קערט אַ איין רעקאָרד סטאַנדערד מיט אַ נעוולינע. די פעלדער זענען אפגעשיידט מיט ספּייסאַז. $ 2 איז די ווערט פון די getuid (2) סיסטעם רופן, $ 2 איז די ווערט פון די geteuid (2) סיסטעם רופן, $ 3 איז די ווערט פון די getgid (2) סיסטעם רופן, און $ 4 איז די ווערט פון די געטעגיד (2) system call. אויב עס זענען קיין נאָך פעלדער, זיי זענען די גרופּע ידס אומגעקערט דורך getgroups (2). קייפל גרופּעס קען ניט זיין געשטיצט אויף אַלע סיסטעמס.

נומעריק פאַנגקשאַנז

אַווק האט דער ווייַטערדיק געבויט-אין אַריטמעטיק פאַנגקשאַנז:

אַטאַן 2 ( י , X )

רעטורנס די אַרקטאַנגענט פון י / X אין ראַדיאַנס.

קאָס ( עקספּר )

קערט דער קאָסינע פון עקספּר , וואָס איז אין ראַדיאַנס.

exp ( expr )

די עקספּאָונענשאַל פֿונקציע.

int ( expr )

טרונקאַטעס צו ינטעגער.

קלאָץ ( עקספּר )

די נאַטירלעך לאָגאַריטהם פונקציאָנירן.

ראַנד ()

רעטורנס אַ טראַפ - נומער צווישן 0 און 1.

זינד ( עקספּר )

קערט דער סינאָ פון עקספּר , וואָס איז אין ראַדיאַנס.

סקרט ( עקספּר )

די קוואַדראַט וואָרצל פֿונקציע.

סראַנד ( [ עקספּר ] )

ניצט עקספּר ווי אַ נייַ זוימען פֿאַר די טראַפ - נומער גענעראַטאָר. אויב קיין עקספּפּר איז בנימצא, די צייַט פון טאָג איז געניצט. דער צוריקקער ווערט איז די פריערדיקע זוימען פֿאַר די טראַפ - נומער גענעראַטאָר.

שטריקל פונקטיאָנס

Gawk האט די ווייַטערדיק געבויט-אין שטריקל פאַנגקשאַנז:

אַסאָרט ( s [ , ד ] )

קומט די נומער פון עלעמענטן אין די מקור מענגע s . די אינהאַלט פון s זענען אויסגעשטעלט ניצן גאַקק 'ס נאָרמאַל כּללים פֿאַר קאַמפּערינג וואַלועס, און די ינדעקסיז פון די סאָרטעד וואַלועס פון s זענען ריפּלייסט מיט סאַקווענטשאַל ינטאַדזשערז סטאַרטינג מיט 1. אויב די אַפּשאַנאַל דעסטאַניישאַן מענגע ד איז ספּעסאַפייד, דעמאָלט s איז ערשטער דופּליקייטיד אין די , און דעמאָלט ד איז אויסגעפינען, ליווינג די ינדעקסיז פון די מקור מענגע ס אַנטשיינדזשד.

גענסוב ( ר , s , ה [ , ה ] )

זוכן דעם ציל שטריקל ה פֿאַר שוועבעלעך פון די רעגולער אויסדרוק ר . אויב ה איז אַ שטריקל אָנהייב מיט ג אָדער ג , דעמאָלט פאַרבייַטן אַלע שוועבעלעך פון ר מיט s . אַנדערש, ה איז אַ נומער ינדאַקייטינג וואָס גלייַכן פון ר צו פאַרבייַטן. אויב ה איז ניט סאַפּלייד, $ 0 איז געוויינט אַנשטאָט. אין די פאַרבייַט טעקסט s , די סיקוואַנס \ n , ווו n איז אַ ציפֿער פון 1 צו 9, קען מען געניצט צו אָנווייַזן נאָר די טעקסט אַז מאַטשט די נ'טערטערהעניזעד סובעקספּרעססיאָן. די סיקוואַנס \ 0 רעפּראַזענץ די גאַנץ מאַטשט טעקסט, ווי די כאַראַקטער & . ניט ווי סאַב () און גסוב () , די מאַדאַפייד סטרינג איז צוריקגעקומען ווי דער רעזולטאַט פון די פונקציע, און דער אָריגינעל ציל שטריקל איז נישט פארענדערט.

גסוב ( ר , s [ , ט ] )

פֿאַר יעדער סאַבסטרייט ריכטן די רעגולער אויסדרוק ר אין די שטריקל ה , פאַרשטעלונג די שטריקל s , און צוריקקומען די נומער פון סאַבסטיטיושאַנז. אויב ה איז ניט סאַפּלייד, נוצן $ 0 . אַן & אין דער פאַרבייַט טעקסט איז ריפּלייסט מיט דעם טעקסט וואָס איז פאקטיש מאַטשט. ניצן \ & צו באַקומען אַ ליטעראַל & . (דעם מוזן זיין טייפּט ווי "\\ &" ; זען גאַווק: עפעקטיוו עווק פּראָגראַממינג פֿאַר אַ פולער דיסקוסיע פון ​​די כּללים פֿאַר & ס און צוריקסאַשעס אין די פאַרבייַט טעקסט פון סאַב () , גסוב () , און גענסוב () .)

אינדעקס ( s , ה )

קומט דער אינדעקס פון די שטריקל ה אין די שטריקל s , אָדער 0 אויב ה איז ניט פאָרשטעלן. (דאס מיינט אַז דער כאַראַקטער ינדיסיז אָנהייבן אין איין.)

לענג ( [ s ] )

רעטורנס די לענג פון די שטריקל s , אָדער די לענג פון $ 0 אויב s איז ניט סאַפּלייד.

גלייַכן ( s , ר [ , אַ ] )

קומט דער שטעלונג אין ס ווו די רעגולער אויסדרוק ר אַקערז, אָדער 0 אויב ר איז ניט פאָרשטעלן, און שטעלט די וואַלועס פון רסטאַרט און רלענגטה . באַמערקונג אַז דער אַרגומענט סדר איז די זעלבע ווי פֿאַר די ~ אָפּעראַטאָר: סטר ~ שייַעך . אויב מענגע אַ איז צוגעשטעלט, אַ איז קלירד און דעמאָלט עלעמענטן 1 דורך n זענען אָנגעפילט מיט די פּאָרשאַנז פון ז וואָס גלייַכן די קאָראַספּאַנדינג פּערפאָרמאַנסע סובעקספּרעססיאָן אין ר . די 0'טער עלעמענט פון אַ כּולל די חלק פון די מאַטשט דורך די גאנצע רעגולער אויסדרוק ר .

שפּאַלטן ( s , אַ [ , ר ] )

ספּליץ די שטריקל s אין די מענגע אַ אויף די רעגולער אויסדרוק ר , און קערט די נומער פון פעלדער. אויב ר איז אַוועקגענומען, פס איז אָנשטאָט אַנשטאָט. דער מענגע איז קלירד ערשטער. ספּליטינג ביכייווז יידעניקאַללי צו פעלד ספּליטינג, דיסקרייבד אויבן.

ספּרינטף ( פמט , עקספּר-רשימה )

פּרינץ עקספּר-רשימה לויט פמט , און קערט די ריזאַלטינג שטריקל.

סטרטאַן ( סטר )

יגזאַמז סטר , און קערט זייַן נומעריק ווערט. אויב סטריט הייבט מיט אַ לידינג 0 , strtonum () assumes that str is an octal number. אויב סטריט הייבט מיט אַ לידינג 0 קס אָדער 0 קס , סטרטאַן () אַסומז אַז סטר איז אַ העקסאַדעסימאַל נומער.

סאַב ( ר , s [ , ט ] )

פּונקט ווי גסוב () , אָבער בלויז דער ערשטער וואָס ריכטן סאַבסטינג איז ריפּלייסט.

סובסטר ( s , איך [ , n ] )

דערמאנט די בעסטע ן- טשאַראַקטער סאַבסטרייט פון s סטאַרטינג בייַ איך . אויב ן איז איבערגעהיפּערט, די רעשט פון s איז געניצט.

טאָלאָווער ( סטר )

רעטורנס אַ קאָפּיע פון ​​די שטריקל סטר , מיט אַלע דער אויבערשטער-פאַל אותיות אין סטר איבערגעזעצט צו זייער קאָראַספּאַנדינג נידעריקער-פאַלן קאַונערפּאַרץ. ניט-אַלפאַבעטיק אותיות זענען לינקס אַנטשיינדזשד.

טופּפּער ( סטר )

רעטורנס אַ קאָפּיע פון ​​די שטריקל סטר , מיט אַלע די נידעריקער-פאַל אותיות אין סטר איבערגעזעצט צו זייער קאָראַספּאַנדינג אויבערשטער-פאַלן קאַונערפּאַרץ. ניט-אַלפאַבעטיק אותיות זענען לינקס אַנטשיינדזשד.

צייט פאַנגשאַנז

זינט איינער פון די ערשטיק ניצט פון אַווק מגילה איז פּראַסעסינג קלאָץ טעקעס וואָס אַנטהאַלטן צייַט סטאַמפּ אינפֿאָרמאַציע, גאַק אָפפערס די ווייַטערדיק פאַנגקשאַנז צו באַקומען צייַט סטאַמפּס און פאָרמאַטטינג זיי.

מקטימע ( דאַטעספּעק )

רורנס דאַטעספּעק אין אַ צייַט שטעמפּל פון די זעלבע פאָרעם ווי אומגעקערט דורך סיסטעמע () . די דאַטעספּעק איז אַ שטריקל פון די פאָרמירונג יייי מם דד הה מם סס [דסט] . די אינהאַלט פון די שטריקל זעקס אָדער זיבן נומערן רעפּריזענטינג ריספּעקטיוולי די פול יאָר אַרייַנגערעכנט יאָרהונדערט, די חודש 1-12, די טאָג פון די חודש 1 - 31, די שעה פון די טאָג 0-23, די מינוט 0 59, און די רגע 0-60, און אַ אָפּשאַנאַל טאָגליכט שפּאָרן פאָן. די וואַלועס פון די נומערן דאַרפֿן נישט זיין אין די ספּעסאַפייד ראַנג; פֿאַר בייַשפּיל, אַ שעה פון -1 מיטל 1 שעה איידער האַלבנאַכט. די אָנהייב-נול גרעגאָריאַן קאַלענדאַר איז אנגענומען, מיט יאָר 0 פּריסידינג יאָר 1 און יאָר -1 פּריסטאַסינג יאָר 0. די צייַט איז אנגענומען צו זיין אין די היגע טימזאָנע. אויב די טאָגליכט שפּאָרן פאָן איז positive, די צייַט איז אנגענומען צו זיין טאָגליכט שפּאָרן צייַט; אויב נול, די צייַט איז אנגענומען צו נאָרמאַל צייַט; און אויב נעגאַטיוו (די פעליקייַט), מקטימע () פרווון צו באַשטימען צי די טאָגליכט שפּאָרן צייַט איז אין ווירקונג פֿאַר די ספּעסאַפייד צייַט. אויב דאַטעספּעק טוט נישט פאַרבינדן גענוג עלעמענטן אָדער אויב די ריזאַלטינג צייַט איז אויס פון קייט, מקטימע () קערט -1.

strftime ( [ פֿאָרמאַט [ , טימעסטאַמפּ ]] )

פאָרמאַץ טימעסטאַמפּ לויט די באַשרייַבונג אין פֿאָרמאַט. די טימעסטאַמפּ זאָל זיין פון די זעלבע פאָרעם ווי אומגעקערט דורך סיסטעמע () . אויב טימעסטאַמפּ איז פעלנדיק, די קראַנט צייַט פון טאָג איז געניצט. אויב פֿאָרמאַט איז פעלנדיק, אַ דיפאָלט פֿאָרמאַט עקוויוואַלענט צו דער רעזולטאַט פון טאָג (1) איז געניצט. זען די באַשרייַבונג פֿאַר די סטריקט () פונקציאָנירן אין אַנסי C פֿאַר די פֿאָרמאַט קאַנווערזשאַנז וואָס זענען געראַנטיד צו זיין בנימצא. א ציבור-פעלד ווערסיע פון סטריקט (3) און אַ מענטש בלאַט פֿאַר עס קומען מיט גאַקק ; אויב דאָס ווערסיע איז געניצט צו בויען גאַק , דעמאָלט אַלע פון ​​די קאַנווערזשאַנז דיסקרייבד אין אַז מענטש בלאַט זענען פאַראַנען צו גאַק.

סיסטעם ()

רעטורנס די קראַנט צייַט פון טאָג ווי די נומער פון סעקונדעס זינט די יפּאָטש (1970-01-01 00:00:00 ןדק אויף פּאָסיקס סיסטעמס).

ביט מאַניפּולאַטיאָנס פאַנגקשאַנז

סטאַרטינג מיט ווערסיע 3.1 פון גאַק , די פאלגענדע ביסל מאַניפּולינג פאַנגקשאַנז זענען בנימצא. זיי אַרבעטן דורך קאַנווערטינג טאָפּל-פּינטלעכקייַט פלאָוטינג פונט וואַלועס צו ניט געהיילט לאַנג ינטאַדזשערז, טאן די אָפּעראַציע, און דעמאָלט קאַנווערטינג די רעזולטאַט צוריק צו פלאָוטינג פונט. די פאַנגקשאַנז זענען:

און ( וו 1 , וו 2 )

ווייַזן די בייטווייז און פון די וואַלועס צוגעשטעלט דורך וו 1 און וו 2 .

compl ( val )

ווייַזן די בייסיקלי דערגאַנג פון וואַל .

ליפפט ( וואַל , רעכענען )

ווייַזן די ווערט פון וואַל , שיפט לינקס דורך ציילן ביטן.

אָדער ( וו 1 , וו 2 )

ווייַזן די בייטווייז OR פון די וואַלועס צוגעשטעלט דורך וו 1 און וו 2 .

רשיפט ( וואַל , רעכענען )

ווייַזן די ווערט פון וואַל , שיפט רעכט דורך ציילן ביטן.

קסאָר ( וו 1 , וו 2 )

ווייַזן די בייסיקלי קסאָר פון די וואַלועס צוגעשטעלט דורך וו 1 און וו 2 .

ינטערנאַטיאָנאַליזאַטיאָן פונקטיאָנס

סטאַרטינג מיט ווערסיע 3.1 פון גאַק , די פאלגענדע פאַנגקשאַנז קענען ווערן גענוצט אין דיין אַווק פּראָגראַם פֿאַר איבערזעצן סטרינגס בייַ לויפן-צייַט. פֿאַר פול פרטים, זען גאַווק: עפעקטיוו אַווק פּראָגראַממינג .

bindtextdomain ( Directory [ , פעלד ] )

באשטייט דער וועגווייַזער ווו גאק קוקט פֿאַר די .מאָ טעקעס, אין פאַל זיי וועלן נישט אָדער קענען ניט זיין שטעלן אין די '`נאָרמאַל' 'לאָוקיישאַנז (למשל, בעשאַס טעסטינג). עס קערט דעם וועגווייַזער ווו פעלד איז `` געבונדן. ''

די פעליקייַט פעלד איז די ווערט פון טעקסטדאָמאַין . אויב Directory איז די נאַל שטריקל ( "" ), דעמאָלט בינדטעקסטדאָמאַין () קערט דעם קראַנט ביינדינג פֿאַר די געגעבן פעלד .

dcgettext ( שטריקל [ , פעלד [ , קאַטעגאָריע ]] )

רעדאַגירן די איבערזעצונג פון שטריקל אין פעלד פעלד פעלד פֿאַר לאָקאַל קאַטעגאָריע קאַטעגאָריע . די פעליקייַט ווערט פֿאַר פעלד איז די קראַנט ווערט פון טעקסטעדאָמאַין . די פעליקייַט ווערט פֿאַר קאַטעגאָריע איז "LC_MESSAGES" .

אויב איר צושטעלן אַ ווערט פֿאַר קאַטעגאָריע , עס מוזן זיין אַ שטריקל גלייַך צו איינער פון די באקאנט לאָקאַל קאַטעגאָריעס דיסקרייבד אין גאַווק: עפעקטיוו אַווק פּראָגראַממינג . איר מוזן אויך צושטעלן אַ טעקסט פעלד. ניצן TEXTDOMAIN אויב איר ווילן צו נוצן דעם קראַנט פעלד.

dcngettext ( string1 , string2 , נומער [ , פעלד [ , קאַטעגאָריע ]] )

רעטורנס די פּלוגאַל פאָרעם געניצט פֿאַר נומער פון די איבערזעצונג פון סטרינג 1 און סטרינג 2 אין פעלד פעלד פעלד פֿאַר לאָקאַל קאַטעגאָריע קאַטעגאָריע . די פעליקייַט ווערט פֿאַר פעלד איז די קראַנט ווערט פון טעקסטעדאָמאַין . די פעליקייַט ווערט פֿאַר קאַטעגאָריע איז "LC_MESSAGES" .

אויב איר צושטעלן אַ ווערט פֿאַר קאַטעגאָריע , עס מוזן זיין אַ שטריקל גלייַך צו איינער פון די באקאנט לאָקאַל קאַטעגאָריעס דיסקרייבד אין גאַווק: עפעקטיוו אַווק פּראָגראַממינג . איר מוזן אויך צושטעלן אַ טעקסט פעלד. ניצן TEXTDOMAIN אויב איר ווילן צו נוצן דעם קראַנט פעלד.

USER-DEFINED FUNCTIONS

פאַנגקשאַנז אין אַווק זענען דיפיינד ווי גייט:

פונקציע נאָמען ( פּאַראַמעטער רשימה ) { סטייטמאַנץ }

פאַנגקשאַנז זענען עקסאַקיוטאַד ווען זיי זענען גערופן פון ין אויסדרוקן אין יעדער מוסטער אָדער אַקשאַנז. פאַקטיש פּאַראַמעטערס זענען געשטעלט אין די פונקציאָנירן רופן געניצט צו ינסטאַלירן די פאָרמאַל פּאַראַמעטערס דערקלערט אין די פֿונקציע. אַררייַס זענען דורכגעגאנגען דורך דערמאָנען, אנדערע וועריאַבאַלז זענען דורכגעגאנגען דורך ווערט.

זינט פאַנגקשאַנז זענען נישט ערידזשנאַלי טייל פון די אַווק שפּראַך, די טנייַ פֿאַר היגע וועריאַבאַלז איז אלא לעפּיש: זיי זענען דערקלערט ווי עקסטרע פּאַראַמעטערס אין די פּאַראַמעטער רשימה. די קאַנווענשאַן איז צו אָפּטיילן היגע וועריאַבאַלז פון פאַקטיש פּאַראַמעטערס דורך עקסטרע ספּייסאַז אין די פּאַראַמעטער רשימה. פֿאַר בייַשפּיל:

function f (p, q, a, b) # אַ און b זענען היגע {...} / אַבק / {...; f (1, 2); ...}

די לינקס פּאַראַמעטער אין אַ פֿונקציע איז פארלאנגט צו מיד נאָכפאָלגן די פֿונקציע נאָמען, אָן ינטערוויוינג ווייַס פּלאַץ. דעם איז צו ויסמייַדן אַ סינטאַקטיק אַמביגיואַטי מיט די קאַנקאַטאַניישאַן אָפּעראַטאָר. דעם ריסטריקשאַן טוט נישט פּאַסן צו די געבויט-אין פאַנגקשאַנז ליסטעד אויבן.

פאַנגקשאַנז קענען רופן יעדער אנדערער און קען זיין רעקורסיווע. פונקציאָנירן פּאַראַמעטערס געניצט ווי היגע וועריאַבאַלז זענען ינישאַלייזד צו די נאַל שטריקל און די נומער נול אויף פונקציאָנירן ינוואַקיישאַנז.

ניצן קרעדיט עקספּר צו צוריקקומען אַ ווערט פֿון אַ פֿונקציע. דער צוריקקער ווערט איז אַנפינישט אויב קיין ווערט איז צוגעשטעלט, אָדער אויב די פונקציאָנירן קערט דורך `` פאַלינג אַוועק '' דער סוף.

אויב --לינט איז צוגעשטעלט, gawk וואָרנז וועגן רופט צו ונדעפינעד פאַנגקשאַנז בייַ פּאַרס צייַט, אַנשטאָט פון לויפן. אָנקלינג אַן ונדעפינעד פֿונקציע אין לויפן צייַט איז אַ פאַטאַל טעות.

די וואָרט פוק קען זיין געניצט אין פּלאַץ פון פונקציאָנירן .

דינאַמיש לאָודינג נייַ פאַנגקשאַנז

אָנהייב מיט ווערסיע 3.1 פון גאַווק , איר קענען דינאַמיקאַללי לייגן נייַ געבויט-אין פאַנגקשאַנז צו די פליסנדיק גאַווק יבערזעצער. די פול פרטים זייַנען אַרויסגעפירט דורך די פאַרנעם פון דעם מאַנואַל זייַטל; זען גאַווק: עפעקטיוו אַווק פּראָגראַממינג פֿאַר די פרטים.

פאַרלענגערונג ( כייפעץ , פונקציאָנירן )

דינאַמיקאַללי פאַרבינדן די שערד כייפעץ טעקע געהייסן דורך כייפעץ , און ינוואָוק פונקציאָנירן אין דעם כייפעץ, צו דורכפירן יניטיאַליזאַטיאָן. די זאָל ביידע צוגעשטעלט ווי סטרינגס. רעטורנס די ווערט אומגעקערט דורך פונקציאָנירן .

דעם פֿונקציע איז צוגעשטעלט און דאַקיומענטאַד אין גאַווק: עפעקטיוו אַווק פּראָגראַממינג , אָבער אַלץ וועגן דעם שטריך איז מסתּמא צו טוישן אין די ווייַטער מעלדונג. מיר שטארק רעקאָמענדירן אַז איר טאָן ניט נוצן דעם שטריך פֿאַר עפּעס אַז איר זענט נישט גרייט צו רעדאָ.

SIGNALS

פּגאַווק אַקסעפּץ צוויי סיגנאַלז. סיגוסר 1 זאָגט עס צו דאַמפּ אַ פּראָפיל און פונקציאָנירן רופן אָנלייגן צו די פּראָפיל טעקע, וואָס איז אָדער אַווק פּראָפ.אָוט , אָדער וועלכער טעקע איז געהייסן מיט די --profile אָפּציע. עס דעריבער האלט צו לויפן. סיגהופּ זייַנען עס צו דאַמפּ דעם פּראָפיל און פונקציאָנירן רופן אָנלייגן און דעמאָלט אַרויסגאַנג.

ביישפילן

דרוק און סאָרט די לאָגין נעמען פון אַלע ניצערס: אָנהייב {FS = ":"} {print $ 1 | "Sort"} Count lines in a file: {nlines ++} END {print nlines} Precede each line by its number in the file: {print FNR, $ 0} Concatenate and line number (a variation on a theme): {print NR, $ 0}

ינטערנאַליזאַטיאָן

שטרענג קאַנסטאַנץ זענען סיקוואַנסיז פון אותיות ענקלאָוזד אין טאָפּל קוואָטעס. אין ניט-ענגליש רעדן ינווייראַנמאַנץ, עס איז מעגלעך צו צייכן די סטרינגס אין די אַווק פּראָגראַם ווי ריקווייערז איבערזעצונג צו די געבוירן נאַטירלעך שפּראַך. אַזאַ סטרינגס זענען אנגעצייכנט אין אַווק פּראָגראַם מיט אַ לידינג אַנדערסקאָר (`` _ ''). למשל,

gawk 'BEGIN {דרוק "hello, world"}'

שטענדיק דרוקן העלא, וועלט . אבער,

gawk 'BEGIN {print _ "hello, world"}'

זאל דרוקן פרייד, מאַנדי אין פֿראַנקרייַך.

עס זענען עטלעכע טריט פֿאַר ביישפילן און פליסנדיק אַ לאָקאַליזאַבלע אַווק פּראָגראַם.

1.

לייג אַ BEGIN אַקשאַנז צו באַשטימען אַ ווערט צו די בייַטעוודיק טעטשנדאָמאַין צו שטעלן די טעקסט פעלד צו אַ נאָמען פארבונדן מיט דיין פּראָגראַם.


אָנהייב {TEXTDOMAIN = "myprog"}

דאָס אַלאַוז גאַק צו געפֿינען די .מאָ טעקע פארבונדן מיט דיין פּראָגראַם. אָן דעם שריט, gawk ניצט די אַרטיקלען טעקסט פעלד, וואָס איז מסתּמא נישט כּולל איבערזעצונגען פֿאַר דיין פּראָגראַם.

2.

מארק אַלע סטרינגס אַז זאָל זיין איבערגעזעצט מיט לידינג אַנדערסקאָרז.

3.

אויב נייטיק, נוצן די דקגעטטעקסט () און / אָדער בינדטעקסטדאָמאַין () פאַנגקשאַנז אין דיין פּראָגראַם, ווי צונעמען.

4.

לויפן גוגל --גענ-פּאָ -ף myprog.awk> מיפּראָפּ.פּאָ צו דזשענערייט אַ .פּאָ טעקע פֿאַר דיין פּראָגראַם.

5.

צושטעלן צונעמען איבערזעצונגען, און בויען און ינסטאַלירן אַ קאָראַספּאַנדינג .מאָ טעקע.

די ינטערנאַשאַנאַליזיישאַן פֿעיִקייטן זענען דיסקרייבד אין פול דעטאַל אין גאַווק: עפעקטיוו אַווק פּראָגראַממינג .

Posix Compatibility

א הויפּט ציל פֿאַר גאַק איז קאַמפּאַטאַבילאַטי מיט די פּאָסיקס נאָרמאַל, און מיט די לעצט ווערסיע פון ​​UNIX awk . צו דעם סוף, gawk ינקאָרפּערייץ די פאלגענדע באַניצער קענטיק פֿעיִקייטן וואָס זענען נישט דיסקרייבד אין די אַווק בוך, אָבער זענען טייל פון די בעל לאַבאָראַטאָריעס ווערסיע פון awk , און זענען אין די פּאַסי נאָרמאַל.

דער בוך ינדיקייץ אַז באַפֿעלן שורה בייַטעוודיק אַסיינמאַנט כאַפּאַנז ווען ערק וואָלט אַנדערש עפענען דעם אַרגומענט ווי אַ טעקע, וואָס איז נאָך די BEGIN בלאָק איז עקסאַקיוטאַד. אָבער, אין פריער ימפּלאַמענטיישאַנז, ווען אַזאַ אַ אַסיינמאַנט ארויס פֿאַר קיין טעקע נעמען, די אַסיינמאַנט וואָלט פּאַסירן איידער די BEGIN בלאָק איז לויפן. אַפּפּליקאַטיאָנס געקומען צו פאַרלאָזן דעם `` שטריך. '' ווען אַווק איז פארענדערט צו גלייַכן זייַן דאַקיומענטיישאַן, די -וו אָפּציע פֿאַר אַסיינינג וועריאַבאַלז איידער פּראָגראַם עקסעקוטיאָן איז צוגעלייגט צו אַקאַמאַדייט אַפּלאַקיישאַנז אַז דעפּענדעד אויף די אַלט נאַטור. (דעם שטריך איז מסכים געווען ביי ביידע די לאַב לאַבאָראַטאָריעס און די GNU דעוועלאָפּערס.)

די -W אָפּציע פֿאַר ימפּלאַמענטיישאַן ספּעציפיש פֿעיִקייטן איז פון די פּאָסיקס נאָרמאַל.

ווען פּראַסעסינג אַרגומענטן, gawk ניצט די ספּעציעל אָפּציע `` - '' צו סיגנאַל דער סוף פון אַרגומענטן. אין קאַמפּאַטאַבילאַטי מאָדע, עס וואָרנז וועגן אָבער אַנדערש יגנאָרז אַנפינישט אָפּציעס. אין נאָרמאַל אָפּעראַציע, אַזאַ אַרגומענטן זענען דורכגעגאנגען צו די אַווק פּראָגראַם פֿאַר עס צו פּראָצעס.

די אַווק בוך טוט נישט באַשליסן די צוריקקומען ווערט פון סראַנד () . די פּאָסיקס נאָרמאַל האט עס צוריקקומען די זוימען עס איז געווען ניצן, צו לאָזן בעכעסקעם שפּור פון טראַפ - נומער סיקוואַנסיז. דעריבער סראַנד () in gawk אויך קערט זייַן קראַנט זוימען.

אנדערע נייַע פֿעיִקייטן זענען: די נוצן פון קייפל-ף אָפּציעס (פון מקס אַווק ); די ענוויראָן מענגע; די \ אַ , און \ V אַנטלויפן סיקוואַנסיז (געטאן ערידזשנאַלי אין גאַק און פאסטעכער צוריק אין די בעל לאַבאָראַטאָריעס ווערסיע); די טאָלאָווער () און טופּפּער () געבויט-אין פאַנגקשאַנז (פון די בעל לאַבאָראַטאָריעס ווערסיע); און די ANSI C באַניצער ספּעסאַפאַקיישאַנז אין printf (געטאן ערשטער אין די Bell לאַבאָראַטאָריעס ווערסיע).

געשיכטלעכער פֿעיִקייטן

עס זענען צוויי פֿעיִקייטן פון היסטאָריש ייווק ימפּלאַמענטיישאַנז אַז גאַעק שטיצט. ערשטער, עס איז מעגלעך צו רופן די לענג () געבויט-אין פונקציע ניט בלויז מיט קיין אַרגומענט, אָבער אַפֿילו אָן קלאַמז! אזוי,

אַ = לענג # הייליק אַלגאָל 60, באַטמאַן!

איז די זעלבע ווי איינער פון

אַ = לענג ()
אַ = לענג ($ 0)

דעם שטריך איז אנגעצייכנט ווי `` דעפּרעסאַטעד '' אין די POSIX סטאַנדאַרדס, און Gawk ענדזשאַנז אַ ווארענונג וועגן זייַן נוצן אויב - לינט איז ספּעסאַפייד אויף די באַפֿעלן שורה.

די אנדערע שטריך איז די נוצן פון די פאָרויס אָדער די ברעכן סטייטמאַנץ אַרויס די גוף פון אַ בשעת , פֿאַר , אָדער טאָן שלייף. טראַדיציאָנעל אַווק ימפּלאַמענטיישאַנז האָבן באהאנדלט אַזאַ נוצן ווי עקוויוואַלענט צו די ווייַטער סטאַטעמענט. Gawk שטיצט דעם באַניץ אויב - טראַדיציאָנעל האט שוין ספּעסאַפייד.

GNU Extensions

Gawk האט אַ נומער פון יקסטענשאַנז צו POSIX awk . זיי זענען דיסקרייבד אין דעם אָפּטיילונג. אַלע די יקסטענשאַנז באשאפן דאָ קענען זיין פאַרקריפּלט דורך ינוואָוקינג גאַק מיט די - טראַדיציאָנעל אָפּציע.

די פאלגענדע פֿעיִקייטן פון gawk זענען נישט בנימצא אין POSIX awk .

*

קיין וועג זוך איז געטאן פֿאַר טעקעס געהייסן דורך די-ף אָפּציע. דעריבער, די AWKPATH סוויווע בייַטעוודיק איז ניט ספּעציעל.

*

די \ x אַנטלויפן סיקוואַנס. (דיסאַבלעד מיט - פּאַסיקס .)

*

די פפלוש () פֿונקציע. (דיסאַבלעד מיט - פּאַסיקס .)

*

די פיייקייַט צו פאָרזעצן שורות נאָך ? און :. (דיסאַבלעד מיט - פּאַסיקס .)

*

אָקטאַל און העקסאַדעסימאַל קאַנסטאַנץ אין אַווק מגילה.

*

די אַרגינד , בינמאָדע , עררנאָ , לינט , רט און טעטשנדאָמאַין וועריאַבאַלז זענען נישט ספּעציעל.

*

די יגנאָרעקאַסע בייַטעוודיק און זייַן זייַט יפעקס זענען נישט בנימצא.

*

די FIELDWIDTHS בייַטעוודיק און פאַרפעסטיקט-ברייט פעלד ספּליטינג.

*

די PROCINFO מענגע איז ניט בנימצא.

*

די נוצן פון רס ווי אַ רעגולער אויסדרוק.

*

די ספּעציעל טעקע נעמען בנימצא פֿאַר איך / אָ רידערעקשאַן זענען נישט דערקענט.

*

די | & אָפּעראַטאָר פֿאַר שאפן קאָ-פּראַסעסאַז.

*

די פיייקייַט צו ספּליט אויס יחיד אותיות ניצן די נאַל שטריקל ווי די ווערט פון עפעס , און ווי די דריט אַרגומענט צו שפּאַלטן () .

*

די אַפּשאַנאַל צווייטע אַרגומענט צו די נאָענט () פונקציאָנירן.

*

די אַפּשאַנאַל דריט אַרגומענט צו די גלייַכן () פונקציאָנירן.

*

די פיייקייַט צו נוצן פּאָסיטיווע ספּעסאַפייערז מיט פּרינטף און ספּרינטף () .

*

די נוצן פון ויסמעקן מענגע צו ויסמעקן די גאנצע אינהאַלט פון אַ מענגע.

*

די נוצן פון nextfile צו פאַרלאָזן פּראַסעסינג פון די קראַנט אַרייַנשרייַב טעקע.

*

די און () , asort () , bindtextdomain () , compl () , dcgettext () , gensub () , lshift () , mktime () , or () , rshift () , strftime () , strtonum () , systime () און קסאָר () פאַנגקשאַנז.

*

לאָקאַליזאַבלע סטרינגס.

*

אַדדינג נייַ געבויט-אין פאַנגקשאַנז דינאַמיקאַללי מיט די פאַרלענגערונג () פונקציאָנירן.

די אַווק בוך טוט נישט באַשליסן די צוריקקומען ווערט פון די נאָענט () פונקציע. גאַעק ס נאָענט () קערט די ווערט פון פקלאָסע (3), אָדער פּקלאָסע (3), ווען קלאָוזינג אַ רעזולטאַט טעקע אָדער רער, ריספּעקטיוולי. עס קערט דעם פּראָצעס ס אַרויסגאַנג סטאַטוס ווען קלאָוזינג אַן אַרייַנשרייַב רער. דער צוריקקער ווערט איז -1 אויב די געהייסן טעקע, רער אָדער קאָ-פּראָצעס איז נישט געעפנט מיט אַ רידערעקשאַן.

ווען gawk איז ינוווקטיד מיט די - טראַדיציאָנעל אָפּציע, אויב די פס אַרגומענט צו די - F אָפּציע איז `` ה '', דעמאָלט FS איז באַשטימט צו די קוויטל כאַראַקטער. דערמיט אַז טייפּינג גאַעק פף ... פשוט ז די שאָל צו ציטירן די `` ה, '', און טוט נישט פאָרן `` \ ה 'צו דער אָפּציע. זינט דעם איז אַ גאַנץ מיעס ספּעציעל פאַל, עס איז נישט די פעליקייַט אָפּפירונג. דעם אָפּפירונג אויך טוט נישט פאַלן אויב - פּאַסיז איז ספּעסאַפייד. צו טאַקע מאַכן אַ קוויטל כאַראַקטער ווי די פעלד סעפּאַראַטאָר, עס איז בעסטער צו נוצן איין קוואָטעס: גאַעק פף '\ ה' ....

זען אנדערע קאַמאַנדז : וואַרטן , לפּ , גאַנץ , עקסעקוו , getfacl , ioctl , uniq , rmmod , pvcreate , rsh , unix2dos , cal , fs , cd , iwpriv , swapon , autofs , talk , motd , free , lpr , execl , fdisk , בייַ , וואס , יווקאָנפיג , יפקאָנפיג , ווגדיספּלייַ , עפענען , לסמאָד , נטאָהס , פּאָסטק , טייטן , ווטמפּ