InglesPransesEspanyol

Ad


OnWorks favicon

gawk - Online sa Cloud

Magpatakbo ng gawk sa OnWorks na libreng hosting provider sa Ubuntu Online, Fedora Online, Windows online emulator o MAC OS online emulator

Ito ang command gawk na maaaring patakbuhin sa OnWorks na libreng hosting provider gamit ang isa sa aming maramihang libreng online na workstation gaya ng Ubuntu Online, Fedora Online, Windows online emulator o MAC OS online emulator

PROGRAMA:

NAME


gawk - pattern scanning at processing language

SINOPSIS


gawk [ Mga opsyon sa istilo ng POSIX o GNU ] -f program-file [ -- ] file ...
gawk [ Mga opsyon sa istilo ng POSIX o GNU ] [ -- ] programa-teksto file...

DESCRIPTION


Gawk ay ang pagpapatupad ng GNU Project ng AWK programming language. Ito ay umaayon sa
ang kahulugan ng wika sa POSIX 1003.1 Standard. Ang bersyon na ito naman ay
batay sa paglalarawan sa Ang AWK Programming Wika, ni Aho, Kernighan, at
Weinberger. Gawk nagbibigay ng mga karagdagang feature na makikita sa kasalukuyang bersyon ng Brian
kay Kernighan ang awkward at ilang mga extension na tukoy sa GNU.

Ang command line ay binubuo ng mga opsyon sa gawk mismo, ang AWK program text (kung hindi ibinigay
sa pamamagitan ng -f or --file mga opsyon), at mga value na gagawing available sa ARGC at ARGV pre-
tinukoy ang mga variable ng AWK.

Kailan gawk ay tinatawag na may --profile opsyon, nagsisimula itong mangalap ng mga istatistika ng profiling
mula sa pagsasagawa ng programa. Gawk tumatakbo nang mas mabagal sa mode na ito, at awtomatiko
gumagawa ng execution profile sa file awkprof.out kapag tapos na. Tingnan ang --profile
opsyon, sa ibaba.

Gawk mayroon ding integrated debugger. Ang isang interactive na sesyon ng pag-debug ay maaaring magsimula sa pamamagitan ng
pagbibigay ng --debug opsyon sa command line. Sa ganitong paraan ng pagpapatupad, gawk naglo-load
ang AWK source code at pagkatapos ay mag-prompt para sa pag-debug ng mga utos. Gawk maaari lamang i-debug ang AWK
mapagkukunan ng programa na ibinigay kasama ng -f opsyon. Ang debugger ay nakadokumento sa GAWK: Mabisa
AWK Programming.

OPTION FORMAT


Gawk ang mga opsyon ay maaaring tradisyonal na POSIX-style one letter na mga opsyon, o GNU-style ang haba
mga pagpipilian. Ang mga opsyon sa POSIX ay nagsisimula sa isang "-", habang ang mga mahahabang opsyon ay nagsisimula sa "--". Mahaba
Ang mga opsyon ay ibinibigay para sa parehong mga tampok na partikular sa GNU at para sa mga tampok na ipinag-uutos ng POSIX.

Gawk-Ang mga partikular na opsyon ay karaniwang ginagamit sa long-option form. Mga pangangatwiran sa mahabang pagpipilian
ay maaaring pinagsama sa opsyon ng isang = sign, na walang intervening space, o maaaring sila
ibinigay sa susunod na argumento ng command line. Maaaring paikliin ang mahahabang opsyon, hangga't
ang pagdadaglat ay nananatiling kakaiba.

Bukod pa rito, ang bawat mahabang opsyon ay may kaukulang maikling opsyon, upang ang opsyon ay
maaaring gamitin ang functionality mula sa loob #! mga executable na script.

Opsyon


Gawk tinatanggap ang mga sumusunod na opsyon. Ang mga karaniwang opsyon ay unang nakalista, na sinusundan ng
mga pagpipilian para sa gawk mga extension, na nakalista ayon sa alpabeto sa pamamagitan ng maikling opsyon.

-f program-file
--file program-file
Basahin ang AWK program source mula sa file program-file, sa halip na mula sa una
argumento ng command line. Maramihan -f (O --file) mga opsyon ay maaaring gamitin.

-F fs
--field-separator fs
paggamit fs para sa input field separator (ang halaga ng FS paunang natukoy na variable).

-v ay=Val
--magtalaga ay=Val
Italaga ang halaga Val sa variable ay, bago magsimula ang pagpapatupad ng programa.
Ang ganitong mga variable na halaga ay magagamit sa BEGIN panuntunan ng isang AWK program.

-b
--characters-as-bytes
Tratuhin ang lahat ng data ng input bilang mga single-byte na character. Sa madaling salita, huwag magbayad
pansin ang lokal na impormasyon kapag sinusubukang iproseso ang mga string bilang multibyte
mga tauhan Ang --posix Ino-override ng opsyon ang isang ito.

-c
--tradisyonal
Tumakbo sa pagkakatugma mode. Sa compatibility mode, gawk identically kumilos sa
ni Brian Kernighan ang awkward; wala sa mga extension na tukoy sa GNU ang nakikilala. Tingnan mo GNU
KAHALAGAAN, sa ibaba, para sa karagdagang impormasyon.

-C
--copyright
I-print ang maikling bersyon ng mensahe ng impormasyon sa copyright ng GNU sa pamantayan
matagumpay na lumabas at lumabas.

-d[file]
--dump-mga variable[=file]
Mag-print ng pinagsunod-sunod na listahan ng mga pandaigdigang variable, ang kanilang mga uri at panghuling halaga sa file. Kung
hindi file ay ibinigay, gawk gumagamit ng file na pinangalanan awkvars.out sa kasalukuyang direktoryo.
Ang pagkakaroon ng listahan ng lahat ng pandaigdigang variable ay isang magandang paraan upang maghanap ng typographical
mga error sa iyong mga programa. Gagamitin mo rin ang opsyong ito kung mayroon kang malaki
program na may maraming mga function, at gusto mong makatiyak na ang iyong mga function ay hindi
hindi sinasadyang gumamit ng mga pandaigdigang variable na sinadya mong maging lokal. (Ito ay
partikular na madaling pagkakamali na gawin gamit ang mga simpleng variable na pangalan tulad ng i, j, at iba pa.)

-D[file]
--debug[=file]
Paganahin ang pag-debug ng mga AWK program. Bilang default, ang debugger ay nagbabasa ng mga utos
interactive mula sa keyboard (standard input). Ang opsyonal file argumento
tumutukoy sa isang file na may listahan ng mga utos para sa debugger na magsagawa ng hindi-
interactive.

-e programa-teksto
--pinagmulan programa-teksto
paggamit programa-teksto bilang source code ng AWK program. Ang pagpipiliang ito ay nagbibigay-daan sa madali
paghahalo ng mga function ng library (ginamit sa pamamagitan ng -f at --file mga opsyon) na may pinagmulan
code na ipinasok sa command line. Ito ay pangunahing inilaan para sa katamtaman hanggang sa malaking AWK
mga programang ginagamit sa mga script ng shell.

-E file
--exec file
Kapareho ng -f, gayunpaman, ito ang opsyon na ang huling naproseso. Ito dapat
ginamit sa #! mga script, lalo na para sa mga CGI application, upang maiwasan ang pagpasa
mga opsyon o source code (!) sa command line mula sa isang URL. Hindi pinapagana ang opsyong ito
command-line variable na mga takdang-aralin.

-g
--gen-pot
I-scan at i-parse ang AWK program, at bumuo ng GNU .pot (Portable Object Template)
format na file sa karaniwang output na may mga entry para sa lahat ng mga localizable na string sa
programa. Ang programa mismo ay hindi naisakatuparan. Tingnan ang GNU gettext pamamahagi para sa
karagdagang impormasyon sa .pot file.

-h
- Tumulong Mag-print ng medyo maikling buod ng mga available na opsyon sa karaniwang output.
(Ayon sa GNU coding Pamantayan, ang mga opsyong ito ay nagdudulot ng agarang, matagumpay na paglabas.)

-i isama-file
--isama isama-file
Mag-load ng awk source library. Hinahanap nito ang library gamit ang AWKPATH
variable ng kapaligiran. Kung nabigo ang paunang paghahanap, isa pang pagtatangka ang gagawin
pagkatapos idugtong ang .awk panlapi. Ang file ay mai-load nang isang beses lamang (ibig sabihin,
ang mga duplicate ay tinanggal), at ang code ay hindi bumubuo sa pangunahing programa
pinagmulan.

-l lib
—-load lib
Mag-load ng shared library lib. Hinahanap nito ang library gamit ang AWKLIBPATH
variable ng kapaligiran. Kung nabigo ang paunang paghahanap, isa pang pagtatangka ang gagawin
pagkatapos idugtong ang default na nakabahaging library suffix para sa platform. Ang library
Inaasahang mapapangalanan ang routine ng initialization dl_load().

-L [halaga]
--lint[=halaga]
Magbigay ng mga babala tungkol sa mga construct na kahina-hinala o hindi portable sa ibang AWK
mga pagpapatupad. Sa isang opsyonal na argumento ng nakamamatay, ang mga babala ng lint ay nagiging nakamamatay
mga pagkakamali. Ito ay maaaring marahas, ngunit ang paggamit nito ay tiyak na hikayatin ang pag-unlad
ng mas malinis na mga programang AWK. Sa isang opsyonal na argumento ng hindi wasto, mga babala lamang tungkol sa
ang mga bagay na talagang hindi wasto ay ibinibigay. (Hindi pa ito ganap na naipatupad.)

-M
--bignum
Pilitin ang arbitraryong katumpakan na arithmetic sa mga numero. Ang pagpipiliang ito ay walang epekto kung gawk
ay hindi pinagsama-sama upang magamit ang mga aklatan ng GNU MPFR at MP.

-n
--hindi-decimal-data
Kilalanin ang mga octal at hexadecimal na halaga sa input data. paggamit ito opsyon sa malaki
pag-iingat!

-N
--use-lc-numeric
Pinipilit nito gawk para gamitin ang decimal point character ng locale kapag nag-parse ng input
datos. Bagama't ang pamantayan ng POSIX ay nangangailangan ng ganitong pag-uugali, at gawk ginagawa ito kapag
--posix ay may bisa, ang default ay ang pagsunod sa tradisyonal na gawi at paggamit ng a
period bilang decimal point, kahit na sa mga locale kung saan ang period ay hindi ang decimal
karakter ng punto. Ino-override ng opsyong ito ang default na gawi, nang hindi buo
draconian strictness ng --posix pagpipilian.

-o[file]
--maganda-print[=file]
Mag-output ng medyo naka-print na bersyon ng programa sa file. Kung hindi file ay ibinigay,
gawk gumagamit ng file na pinangalanan awkprof.out sa kasalukuyang direktoryo.

-O
--optimize
Paganahin ang mga pag-optimize sa panloob na representasyon ng programa. Kasalukuyan,
kabilang dito ang simpleng constant-folding, at tail call elimination para sa recursive
mga function. Ang gawk umaasa ang maintainer na magdagdag ng mga karagdagang pag-optimize sa paglipas ng panahon.

-p[prof-file]
--profile[=prof-file]
Magsimula ng session ng pag-profile, at ipadala ang data ng profile sa prof-file. Ang default
is awkprof.out. Ang profile ay naglalaman ng mga bilang ng pagpapatupad ng bawat pahayag sa
program sa kaliwang margin at mga bilang ng tawag sa function para sa bawat function na tinukoy ng user.

-P
--posix
Ito ay naka-on pagkakatugma mode, na may mga sumusunod na karagdagang paghihigpit:

· \x hindi nakikilala ang mga pagkakasunud-sunod ng pagtakas.

· Tanging space at tab ang nagsisilbing field separator kapag FS ay nakatakda sa iisang espasyo,
newline ay hindi.

· Hindi ka maaaring magpatuloy sa mga linya pagkatapos ? at :.

· Ang kasingkahulugan func para sa keyword tungkulin ay hindi kinikilala.

· Ang mga operator ** at **= hindi maaaring gamitin bilang kapalit ng ^ at ^=.

-r
--muling pagitan
Paganahin ang paggamit ng agwat mga expression sa regular na pagtutugma ng expression (tingnan regular
expression, sa ibaba). Ang mga interval expression ay hindi tradisyonal na magagamit sa
wika ng AWK. Idinagdag sila ng pamantayan ng POSIX, upang gawin ang awkward at egrep pare-pareho sa
isa't isa. Ang mga ito ay pinagana bilang default, ngunit ang pagpipiliang ito ay nananatiling para sa paggamit sa
--tradisyonal.

-S
--sandbox
Nagpapatakbo gawk sa sandbox mode, hindi pinapagana ang sistema() function, pag-redirect ng input gamit ang
getline, pag-redirect ng output gamit ang i-print at printf, at naglo-load ng mga dynamic na extension.
Naka-disable din ang command execution (sa pamamagitan ng pipelines). Ito ay epektibong humaharang sa a
script mula sa pag-access sa mga lokal na mapagkukunan (maliban sa mga file na tinukoy sa
command line).

-t
--matanda na
Magbigay ng mga babala tungkol sa mga construct na hindi portable sa orihinal na bersyon ng
UNIX ang awkward.

-V
--bersyon
I-print ang impormasyon ng bersyon para sa partikular na kopyang ito ng gawk sa karaniwang output.
Ito ay pangunahing kapaki-pakinabang para sa pag-alam kung ang kasalukuyang kopya ng gawk sa iyong system ay up
hanggang ngayon na may paggalang sa anumang ipinamamahagi ng Free Software Foundation.
Ito ay kapaki-pakinabang din kapag nag-uulat ng mga bug. (Ayon sa GNU coding Pamantayan, Ang mga
ang mga opsyon ay nagdudulot ng agarang, matagumpay na paglabas.)

-- Ipahiwatig ang pagtatapos ng mga pagpipilian. Ito ay kapaki-pakinabang upang payagan ang mga karagdagang argumento sa AWK
program mismo upang magsimula sa isang "-". Nagbibigay ito ng pagkakapare-pareho sa argumento
convention sa pag-parse na ginagamit ng karamihan sa iba pang mga programa ng POSIX.

Sa compatibility mode, ang anumang iba pang mga opsyon ay na-flag bilang hindi wasto, ngunit kung hindi man
hindi pinansin. Sa normal na operasyon, hangga't naibigay ang teksto ng programa, hindi alam na mga opsyon
ay ipinapasa sa programang AWK sa ARGV array para sa pagproseso. Ito ay partikular na
kapaki-pakinabang para sa pagpapatakbo ng mga programang AWK sa pamamagitan ng “#!” executable interpreter na mekanismo.

Para sa POSIX compatibility, ang -W maaaring gamitin ang opsyon, na sinusundan ng pangalan ng mahabang opsyon.

AWK PROGRAMA Pagpapatupad


Ang isang AWK program ay binubuo ng isang sequence ng pattern-action statements at opsyonal na function
mga kahulugan.

@isama "filename"
@load "filename"
huwaran { aksyon pahayag }
tungkulin pangalan(parametro listahan) { pahayag }

Gawk unang binasa ang source ng program mula sa program-file(s) kung tinukoy, mula sa mga argumento
sa --pinagmulan, o mula sa unang argumentong hindi opsyon sa command line. Ang -f at
--pinagmulan ang mga opsyon ay maaaring gamitin nang maraming beses sa command line. Gawk nagbabasa ng programa
text na parang lahat ng program-files at command line source text ay pinagsama-sama
magkasama. Ito ay kapaki-pakinabang para sa pagbuo ng mga aklatan ng AWK function, nang hindi na kinakailangang
isama ang mga ito sa bawat bagong AWK program na gumagamit sa kanila. Nagbibigay din ito ng kakayahang maghalo
mga function ng library na may mga command line program.

Bilang karagdagan, ang mga linya na nagsisimula sa @isama ay maaaring gamitin upang isama ang iba pang mga source file sa
iyong programa, na ginagawang mas madali ang paggamit ng library. Ito ay katumbas ng paggamit ng -i pagpipilian.

Mga linyang nagsisimula sa @load maaaring gamitin upang i-load ang mga nakabahaging aklatan sa iyong programa. Ito
ay katumbas ng paggamit ng -l pagpipilian.

Ang variable ng kapaligiran AWKPATH tumutukoy sa isang landas sa paghahanap na gagamitin kapag naghahanap ng mga source file
pinangalanan kasama ang -f at -i mga pagpipilian. Kung wala ang variable na ito, ang default na path ay
".:/usr/local/share/awk". (Ang aktwal na direktoryo ay maaaring mag-iba, depende sa kung paano gawk ay
binuo at na-install.) Kung ang isang file name ay ibinigay sa -f ang opsyon ay naglalaman ng karakter na "/", hindi
isinasagawa ang paghahanap ng landas.

Ang variable ng kapaligiran AWKLIBPATH tumutukoy sa isang landas sa paghahanap na gagamitin kapag naghahanap ng pinagmulan
mga file na pinangalanan sa -l opsyon. Kung wala ang variable na ito, ang default na path ay
"/usr/local/lib/gawk". (Ang aktwal na direktoryo ay maaaring mag-iba, depende sa kung paano gawk ay itinayo
at naka-install.)

Gawk nagsasagawa ng mga programang AWK sa sumusunod na pagkakasunud-sunod. Una, lahat ng variable na takdang-aralin
tinukoy sa pamamagitan ng -v isinagawa ang opsyon. Susunod, gawk pinagsama-sama ang programa sa isang
panloob na anyo. pagkatapos, gawk nagpapatupad ng code sa BEGIN (mga) panuntunan (kung mayroon), at pagkatapos
nagpapatuloy na basahin ang bawat file na pinangalanan sa ARGV array (hanggang sa ARGV[ARGC]). Kung wala
mga file na pinangalanan sa command line, gawk binabasa ang karaniwang input.

Kung ang isang filename sa command line ay may form ay=Val ito ay itinuturing bilang isang variable
takdang-aralin. Ang variable ay itatalaga ang halaga Val. (Ito ay nangyayari pagkatapos ng anumang
BEGIN (mga) panuntunan ay pinatakbo.) Ang pagtatalaga ng variable ng command line ay pinakakapaki-pakinabang para sa
dynamic na pagtatalaga ng mga halaga sa mga variable na ginagamit ng AWK upang kontrolin kung paano nasira ang input
mga patlang at talaan. Kapaki-pakinabang din ito para sa pagkontrol ng estado kung kailangan ng maraming pass
sa isang solong data file.

Kung ang halaga ng isang partikular na elemento ng ARGV ay walang laman (""), gawk nilalampasan ito.

Para sa bawat input file, kung a BEGINFILE umiiral ang panuntunan, gawk ipapatupad ang nauugnay na code bago
pagproseso ng mga nilalaman ng file. Katulad nito, gawk nagpapatupad ng code na nauugnay sa
ENDFILE pagkatapos iproseso ang file.

Para sa bawat tala sa input, gawk mga pagsubok upang makita kung ito ay tumutugma sa alinman huwaran sa AWK
programa. Para sa bawat pattern na tumutugma sa record, gawk naisasagawa ang nauugnay aksyon.
Sinusuri ang mga pattern sa pagkakasunud-sunod ng mga ito sa programa.

Sa wakas, pagkatapos maubos ang lahat ng input, gawk nagpapatupad ng code sa END (mga) tuntunin (kung
anumang).

Utos Linya Direktoryo
Ayon sa POSIX, ang mga file na pinangalanan sa ang awkward Ang command line ay dapat na mga text file. Ang ugali
ay ``undefined'' kung hindi. Karamihan sa mga bersyon ng ang awkward gamutin ang isang direktoryo sa utos
linya bilang isang nakamamatay na error.

Simula sa bersyon 4.0 ng gawk, ang isang direktoryo sa command line ay gumagawa ng babala, ngunit
ay nilaktawan. Kung alinman sa --posix or --tradisyonal ang mga pagpipilian ay ibinigay, kung gayon
gawk babalik sa pagtrato sa mga direktoryo sa command line bilang isang nakamamatay na error.

MGA VARIABLE, TALAAN AT LARANGAN


Ang mga variable ng AWK ay dynamic; sila ay umiral noong sila ay unang ginamit. Ang kanilang
ang mga value ay alinman sa mga floating-point na numero o string, o pareho, depende sa kung paano sila
ginamit. Ang AWK ay mayroon ding isang dimensional na array; arrays na may maraming dimensyon ay maaaring
kunwa. Gawk nagbibigay ng mga tunay na hanay ng mga array; tingnan mo Mga Arrays, sa ibaba. Ilang paunang natukoy
ang mga variable ay itinakda habang tumatakbo ang isang programa; ang mga ito ay inilarawan kung kinakailangan at buod sa ibaba.

Records
Karaniwan, ang mga tala ay pinaghihiwalay ng mga bagong linyang character. Maaari mong kontrolin kung paano ang mga talaan
pinaghihiwalay sa pamamagitan ng pagtatalaga ng mga halaga sa built-in na variable RS. Kung RS ay anumang solong karakter,
ang karakter na iyon ay naghihiwalay ng mga talaan. kung hindi, RS ay isang regular na expression. Teksto sa
Ang input na tumutugma sa regular na expression na ito ay naghihiwalay sa record. Gayunpaman, sa
compatibility mode, tanging ang unang character ng string value nito ang ginagamit para sa paghihiwalay
mga talaan. Kung RS ay nakatakda sa null string, pagkatapos ang mga tala ay pinaghihiwalay ng mga blangkong linya.
Kailan RS ay nakatakda sa null string, ang newline na character ay palaging gumaganap bilang isang field separator,
bilang karagdagan sa anumang halaga FS ay maaaring magkaroon ng.

Mga Patlang
Habang binabasa ang bawat input record, gawk hinahati ang record sa patlang, gamit ang halaga ng
FS variable bilang field separator. Kung FS ay isang solong karakter, ang mga patlang ay pinaghihiwalay ng
ang karakter na iyon. Kung FS ay ang null string, pagkatapos ang bawat indibidwal na character ay nagiging a
hiwalay na larangan. kung hindi, FS ay inaasahang maging isang buong regular na expression. Nasa
espesyal na kaso iyon FS ay isang solong espasyo, ang mga patlang ay pinaghihiwalay ng mga run ng mga puwang at/o mga tab
at/o mga bagong linya. (Ngunit tingnan ang seksyon POSIX Kakayahan na, sa ibaba). NOTA: Ang halaga ng
IGNORECASE (tingnan sa ibaba) ay nakakaapekto rin kung paano nahahati ang mga field kung kailan FS ay isang regular na pagpapahayag,
at kung paano pinaghihiwalay ang mga talaan kung kailan RS ay isang regular na expression.

Kung ang FIELDWIDTHS variable ay nakatakda sa isang space separated na listahan ng mga numero, ang bawat field ay
inaasahang magkaroon ng nakapirming lapad, at gawk hinahati ang rekord gamit ang mga tinukoy na lapad.
Ang halaga ng mga FS ay hindi pinapansin. Pagtatalaga ng bagong halaga sa FS or FPAT nilalampasan ang paggamit ng
FIELDWIDTHS.

Katulad nito, kung ang FPAT variable ay nakatakda sa isang string na kumakatawan sa isang regular na expression, bawat isa
Ang field ay binubuo ng text na tumutugma sa regular na expression na iyon. Sa kasong ito, ang regular
Inilalarawan ng expression ang mga field mismo, sa halip na ang text na naghihiwalay sa mga field.
Pagtatalaga ng bagong halaga sa FS or FIELDWIDTHS nilalampasan ang paggamit ng FPAT.

Ang bawat field sa input record ay maaaring i-reference ng posisyon nito: $1, $2, At iba pa. $0
ay ang buong tala. Ang mga patlang ay hindi kailangang i-reference ng mga constant:

n = 5
i-print $n

ini-print ang ikalimang field sa input record.

Ang variable NF ay nakatakda sa kabuuang bilang ng mga field sa input record.

Mga sanggunian sa mga di-umiiral na field (ibig sabihin, mga field pagkatapos $NF) gumawa ng null-string.
Gayunpaman, ang pagtatalaga sa isang hindi umiiral na field (hal, $(NF+2) = 5) pinapataas ang halaga ng NF,
lumilikha ng anumang mga intervening field na may null string bilang kanilang mga halaga, at nagiging sanhi ng halaga
of $0 na recomputed, na ang mga field ay pinaghihiwalay ng halaga ng FSO. Mga sanggunian
sa mga negatibong may bilang na mga patlang ay nagdudulot ng nakamamatay na error. Bumababa NF nagiging sanhi ng mga halaga ng
mga field na lampas sa bagong halaga na mawawala, at ang halaga ng $0 na recomputed, kasama ang
mga patlang na pinaghihiwalay ng halaga ng FSO.

Ang pagtatalaga ng isang halaga sa isang umiiral na field ay nagiging sanhi ng buong record na muling itayo kapag $0 is
sinangguni. Katulad nito, ang pagtatalaga ng halaga sa $0 nagiging sanhi ng pag-resplit ng record, paggawa
mga bagong halaga para sa mga patlang.

Built-in Variable
GawkAng mga built-in na variable ay:

ARGC Ang bilang ng mga argumento ng command line (hindi kasama ang mga opsyon sa gawk, O ang
pinagmulan ng programa).

ARGIND Ang index sa ARGV ng kasalukuyang file na pinoproseso.

ARGV Array ng mga argumento ng command line. Ang array ay na-index mula 0 hanggang ARGC - 1.
Dynamic na binabago ang mga nilalaman ng ARGV makokontrol ang mga file na ginagamit para sa data.

BINMODE Sa mga non-POSIX system, tinutukoy ang paggamit ng "binary" mode para sa lahat ng file I/O.
Ang mga numerong halaga ng 1, 2, o 3, ay tumutukoy sa mga input file, output file, o lahat
Ang mga file, ayon sa pagkakabanggit, ay dapat gumamit ng binary I/O. Mga halaga ng string ng "r", O "w"
tukuyin na ang mga input file, o mga output file, ayon sa pagkakabanggit, ay dapat gumamit ng binary
I/O. Mga halaga ng string ng "rw" or "wr" tukuyin na ang lahat ng mga file ay dapat gumamit ng binary
I/O. Anumang iba pang halaga ng string ay itinuturing bilang "rw", ngunit bumubuo ng babala
mensahe.

CONVFMT Ang format ng conversion para sa mga numero, "%.6g", bilang default.

KAPALIGIRAN Isang array na naglalaman ng mga halaga ng kasalukuyang kapaligiran. Ang array ay
na-index ng mga variable ng kapaligiran, ang bawat elemento ay ang halaga nito
variable (hal., KAPALIGIRAN["HOME"] ay maaaring maging "/home/arnold"). Pagbabago ng array na ito
hindi nakakaapekto sa kapaligirang nakikita ng mga programa na gawk spawns sa pamamagitan ng
pag-redirect o ang sistema() function.

ERRNO Kung may nangyaring error sa system alinman sa paggawa ng isang pag-redirect para sa getline, habang binabasa
para getline, o sa panahon ng a isara (), Pagkatapos ERRNO maglalaman ng string na naglalarawan
ang pagkakamali. Ang halaga ay napapailalim sa pagsasalin sa mga lokal na hindi Ingles.

FIELDWIDTHS Isang listahan ng mga lapad ng field na pinaghihiwalay ng whitespace. Kapag itinakda, gawk na-parse ang input
sa mga field na may nakapirming lapad, sa halip na gamitin ang halaga ng FS variable bilang
ang field separator. Tingnan mo Mga Patlang, sa itaas.

FILENAME Ang pangalan ng kasalukuyang input file. Kung walang mga file na tinukoy sa command
linya, ang halaga ng FILENAME ay “-”. gayunpaman, FILENAME ay hindi natukoy sa loob ng
BEGIN tuntunin (maliban kung itinakda ng getline).

FNR Ang input record number sa kasalukuyang input file.

FPAT Isang regular na expression na naglalarawan sa mga nilalaman ng mga patlang sa isang talaan. Kailan
itakda, gawk pini-parse ang input sa mga field, kung saan tumutugma ang mga field sa regular
expression, sa halip na gamitin ang halaga ng FS variable bilang field
separator. Tingnan mo Mga Patlang, sa itaas.

FS Ang input field separator, isang puwang bilang default. Tingnan mo Mga Patlang, sa itaas.

FUNCTAB Isang array na ang mga indeks at katumbas na halaga ay ang mga pangalan ng lahat ng user-
tinukoy o extension function sa programa. NOTA: Maaaring hindi mo gamitin ang
alisin pahayag kasama ang FUNCTAB pag-ayos.

IGNORECASE Kinokontrol ang case-sensitivity ng lahat ng regular na expression at string na mga operasyon.
If IGNORECASE ay may hindi zero na halaga, pagkatapos ay mga paghahambing ng string at pattern
pagtutugma sa mga panuntunan, paghahati ng field sa FS at FPAT, record na naghihiwalay sa
RS, regular na expression na tumutugma sa ~ at !~, at ang gensub(), gsub(),
index (), tugma(), patsplit(), hatiin (), at sub() binabalewala ng lahat ang mga built-in na function
kaso kapag gumagawa ng mga regular na operasyon ng expression. NOTA: Ang array subscripting ay
hindi apektado. Gayunpaman, ang isang uri() at asorti() apektado ang mga function.
Kaya, kung IGNORECASE ay hindi katumbas ng zero, /aB/ tumutugma sa lahat ng mga string
"ab", "aB", "Ab", at "AB". Tulad ng lahat ng mga variable ng AWK, ang paunang halaga ng
IGNORECASE ay zero, kaya lahat ng regular na expression at string na mga operasyon ay
karaniwang case-sensitive.

LINT Nagbibigay ng dynamic na kontrol ng --lint opsyon mula sa loob ng isang AWK program.
Kapag totoo, gawk nagpi-print ng mga babala sa lint. Kapag hindi totoo, hindi. Kapag na-assign
ang halaga ng string "nakamamatay", ang mga babala ng lint ay nagiging mga nakamamatay na error, eksakto tulad ng
--lint=nakamamatay. Anumang ibang tunay na halaga ay nagpi-print lang ng mga babala.

NF Ang bilang ng mga field sa kasalukuyang input record.

NR Ang kabuuang bilang ng mga input record na nakita sa ngayon.

OFMT Ang format ng output para sa mga numero, "%.6g", bilang default.

FSO Ang output field separator, isang puwang bilang default.

ORS Ang output record separator, bilang default ay isang newline.

PREC Ang gumaganang katumpakan ng di-makatwirang katumpakan na mga floating-point na numero, 53 by
default.

PROCINFO Ang mga elemento ng array na ito ay nagbibigay ng access sa impormasyon tungkol sa tumatakbong AWK
programa. Sa ilang mga sistema, maaaring may mga elemento sa array, "pangkat1"
sa pamamagitan ng "grupon" para sa ilang n, na ang bilang ng mga pandagdag na grupo na
ang proseso ay mayroon. Gamitin ang in operator upang subukan ang mga elementong ito. Ang
ang mga sumusunod na elemento ay garantisadong magagamit:

PROCINFO["egid"] Ang halaga ng getegid(2) tawag sa sistema.

PROCINFO["strftime"]
Ang default na string ng format ng oras para sa strftime().

PROCINFO["euid"] Ang halaga ng geteuid(2) tawag sa sistema.

PROCINFO["FS"] "FS" kung field splitting sa FS ay may bisa, "FPAT" if
field splitting sa FPAT ay may bisa, o "FIELDWIDTHS"
kung field splitting sa FIELDWIDTHS ay may bisa.

PROCINFO["mga identifier"]
Isang subarray, na na-index ng mga pangalan ng lahat ng ginamit na identifier
sa teksto ng programang AWK. Ang mga halaga ay nagpapahiwatig kung ano
gawk alam ang tungkol sa mga identifier pagkatapos nito
pag-parse ng programa; sila ay hindi na-update habang ang
tumatakbo ang programa. Para sa bawat identifier, ang halaga ng
Ang elemento ay isa sa mga sumusunod:

"array"
Ang identifier ay isang array.

"built"
Ang identifier ay isang built-in na function.

"extension"
Ang identifier ay isang extension function na na-load sa pamamagitan ng
@load or -l.

"scalar"
Ang identifier ay isang scalar.

"walang type"
Ang identifier ay hindi na-type (maaaring gamitin bilang a
scalar o array, gawk hindi pa alam).

"gumagamit" Ang identifier ay isang function na tinukoy ng gumagamit.

PROCINFO["gid"] Ang halaga ng getgid(2) tawag sa sistema.

PROCINFO["pgrpid"] Ang proseso ng pangkat ID ng kasalukuyang proseso.

PROCINFO["pid"] Ang process ID ng kasalukuyang proseso.

PROCINFO["ppid"] Ang parent process ID ng kasalukuyang proseso.

PROCINFO["uid"] Ang halaga ng getuid(2) tawag sa sistema.

PROCINFO["sorted_in"]
Kung ang elementong ito ay umiiral sa PROCINFO, pagkatapos ay ang halaga nito
kinokontrol ang pagkakasunud-sunod kung saan pinagdaraanan ang mga elemento ng array
in para mga loop. Ang mga sinusuportahang halaga ay "@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", at
"@unsorted". Ang halaga ay maaari ding maging pangalan ng alinman
ang function ng paghahambing ay tinukoy bilang mga sumusunod:

tungkulin cmp_func(i1, v1, i2 v2)

saan i1 at i2 ay ang mga indeks, at v1 at v2 ay ang mga
katumbas na halaga ng dalawang elementong inihahambing.
Dapat itong magbalik ng numerong mas mababa sa, katumbas ng, o mas malaki
kaysa sa 0, depende sa kung paano ang mga elemento ng array
utusan

PROCINFO["input", "READ_TIMEOUT"]
Ang timeout sa millisecond para sa pagbabasa ng data mula sa input,
saan input ay isang redirection string o isang filename. Isang halaga
ng zero o mas mababa sa zero ay nangangahulugang walang timeout.

PROCINFO["mpfr_version"]
Ang bersyon ng GNU MPFR library na ginagamit para sa arbitrary
suporta sa numero ng katumpakan sa gawk. Ang entry na ito ay hindi
naroroon kung ang suporta ng MPFR ay hindi pinagsama-sama sa gawk.

PROCINFO["gmp_version"]
Ang bersyon ng GNU MP library na ginagamit para sa arbitrary
suporta sa numero ng katumpakan sa gawk. Ang entry na ito ay hindi
naroroon kung ang suporta ng MPFR ay hindi pinagsama-sama sa gawk.

PROCINFO["prec_max"]
Ang pinakamataas na katumpakan na sinusuportahan ng GNU MPFR library
para sa di-makatwirang katumpakan na mga floating-point na numero. Ito
ang entry ay hindi naroroon kung ang suporta ng MPFR ay hindi pinagsama-sama sa
gawk.

PROCINFO["prec_min"]
Ang pinakamababang katumpakan na pinapayagan ng GNU MPFR library para sa
di-makatwirang katumpakan na mga floating-point na numero. Ang entry na ito ay
hindi naroroon kung ang suporta ng MPFR ay hindi pinagsama-sama gawk.

PROCINFO["api_major"]
Ang pangunahing bersyon ng extension API. Ang entry na ito ay hindi
naroroon kung hindi available ang paglo-load ng mga dynamic na extension.

PROCINFO["api_minor"]
Ang menor de edad na bersyon ng extension API. Ang entry na ito ay hindi
naroroon kung hindi available ang paglo-load ng mga dynamic na extension.

PROCINFO["bersyon"] ang bersyon ng gawk.

ROUNDMODE Ang rounding mode na gagamitin para sa arbitrary precision arithmetic sa mga numero, sa pamamagitan ng
default "N" (IEEE-754 roundTiesToEven mode). Ang mga tinatanggap na halaga ay "N" or
"n" para sa roundTiesToEven, "U" or "ikaw" para sa roundTowardPositive, "D" or "d" para
roundTowardNegative, "Z" or "z" para sa roundTowardZero, at kung ang iyong bersyon ng
Sinusuportahan ito ng GNU MPFR library, "TO" or "a" para sa roundTiesToAway.

RS Ang input record separator, bilang default ay isang newline.

RT Ang record terminator. Gawk set RT sa input text na tumugma sa
karakter o regular na expression na tinukoy ng RS.

Magsimula Ang index ng unang character na itinugma ni tugma(); 0 kung walang tugma. (Ito
nagpapahiwatig na ang mga indeks ng character ay nagsisimula sa isa.)

RLENGTH Ang haba ng string na tumugma sa tugma(); -1 kung walang tugma.

SUBSEP Ang karakter na ginamit upang paghiwalayin ang maraming subscript sa mga elemento ng array, sa pamamagitan ng
default "\034".

SYMTAB Isang array na ang mga indeks ay ang mga pangalan ng lahat ng kasalukuyang tinukoy na global variable
at mga arrays sa programa. Maaaring gamitin ang array para sa hindi direktang pag-access sa pagbasa
o isulat ang halaga ng isang variable:

foo = 5
SYMTAB["foo"] = 4
i-print foo # mga kopya 4

Ang isarray() function ay maaaring gamitin upang subukan kung ang isang elemento sa SYMTAB ay isang
array. Maaaring hindi mo gamitin ang alisin pahayag kasama ang SYMTAB pag-ayos.

TEXTDOMAIN Ang domain ng teksto ng AWK program; ginamit upang mahanap ang mga lokal na pagsasalin
para sa mga string ng programa.

Mga Arrays
Ang mga array ay naka-subscript na may expression sa pagitan ng mga square bracket ([ at ]). Kung ang
expression ay isang listahan ng expression (ipahayag, ipahayag ...) kung gayon ang array subscript ay isang string
na binubuo ng pagsasama-sama ng (string) na halaga ng bawat expression, na pinaghihiwalay ng
halaga ng SUBSEP variable. Ang pasilidad na ito ay ginagamit upang gayahin ang multiply dimensioned
mga array. Halimbawa:

i = "A"; j = "B"; k = "C"
x[i, j, k] = "Kamusta, mundo\n"

nagtatalaga ng string "Kamusta, mundo\n" sa elemento ng array x na ini-index ng
pisi "A\034B\034C". Ang lahat ng array sa AWK ay associative, ibig sabihin, na-index ng mga string value.

Ang espesyal na operator in maaaring gamitin upang subukan kung ang isang array ay may index na binubuo ng a
partikular na halaga:

if (val in array)
i-print array[val]

Kung ang array ay may maraming mga subscript, gamitin (ako, j) in ayos.

Ang in construct ay maaari ding gamitin sa a para loop upang umulit sa lahat ng mga elemento ng isang
array. Gayunpaman, ang (ako, j) in ayos gumagana lamang ang construct sa mga pagsubok, hindi sa para mga loop

Maaaring tanggalin ang isang elemento mula sa isang array gamit ang alisin pahayag. Ang alisin pahayag
ay maaari ding gamitin upang tanggalin ang buong nilalaman ng isang array, sa pamamagitan lamang ng pagtukoy sa array
pangalan na walang subscript.

gawk sumusuporta sa totoong multidimensional arrays. Ito ay hindi nangangailangan na tulad array ay
`` rectangular '' tulad ng sa C o C++. Halimbawa:

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

NOTA: Maaaring kailanganin mong sabihin gawk na ang isang elemento ng array ay talagang isang subarray upang magamit
saan ito gawk inaasahan ang isang array (tulad ng sa pangalawang argumento sa hatiin ()). Maaari mong gawin
ito sa pamamagitan ng paglikha ng isang elemento sa subarray at pagkatapos ay tanggalin ito gamit ang alisin
pahayag.

Paiba-iba Type at Conversion
Ang mga variable at field ay maaaring (floating point) na mga numero, o mga string, o pareho. Paano ang halaga
ng isang variable ay binibigyang-kahulugan depende sa konteksto nito. Kung ginamit sa isang numeric na expression,
ito ay ituturing bilang isang numero; kung ginamit bilang isang string ito ay ituturing bilang isang string.

Upang pilitin ang isang variable na ituring bilang isang numero, magdagdag ng 0 dito; upang pilitin itong ituring bilang a
string, pagdugtungin ito sa null string.

Ang mga hindi inisyal na variable ay may numerong halaga 0 at ang string na halaga "" (ang null, o
walang laman, string).

Kapag ang isang string ay dapat na i-convert sa isang numero, ang conversion ay nagagawa gamit
strtod(3). Ang isang numero ay na-convert sa isang string sa pamamagitan ng paggamit ng halaga ng CONVFMT bilang isang pormat
string para sa sprint(3), na may numerong halaga ng variable bilang argumento. gayunpaman,
kahit na ang lahat ng numero sa AWK ay floating-point, ang mga integral value ay palagi na-convert bilang
mga integer. Kaya, ibinigay

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

ang variable b ay may string na halaga ng "12" at hindi "12.00".

NOTA: Kapag tumatakbo sa POSIX mode (tulad ng sa --posix opsyon), mag-ingat sa lokal na iyon
maaaring makagambala ang mga setting sa paraan ng pagtrato sa mga decimal na numero: ang decimal separator ng
ang mga numerong pinapakain mo gawk dapat umayon sa kung ano ang inaasahan ng iyong lokal, maging ito a
kuwit (,) o tuldok (.).

Gawk gumaganap ng mga paghahambing tulad ng sumusunod: Kung ang dalawang variable ay numeric, sila ay inihambing
ayon sa bilang. Kung ang isang value ay numeric at ang isa ay may string value na isang “numeric
string,” pagkatapos ay ang mga paghahambing ay ginagawa din ayon sa numero. Kung hindi, ang numeric na halaga ay
na-convert sa isang string at isang paghahambing ng string ay ginanap. Dalawang string ang inihambing, ng
siyempre, bilang mga string.

Tandaan na ang string constants, tulad ng "57", Ay hindi numeric na mga string, sila ay mga string
mga pare-pareho. Ang ideya ng "numeric string" ay nalalapat lamang sa mga field, getline input, FILENAME,
ARGV mga elemento, KAPALIGIRAN mga elemento at mga elemento ng isang array na nilikha ng hatiin () or
patsplit() iyon ay mga numeric na string. Ang pangunahing ideya ay iyon gumagamit input, at tanging gumagamit
input, na mukhang numeric, ay dapat tratuhin sa ganoong paraan.

Octal at Hexadecimal Constants
Maaari mong gamitin ang C-style octal at hexadecimal constants sa iyong AWK program source code. Para sa
halimbawa, ang octal na halaga 011 ay katumbas ng decimal 9, at ang hexadecimal na halaga 0x11 is
katumbas ng decimal 17.

Pisi Constants
Ang mga string constant sa AWK ay mga sequence ng mga character na nakapaloob sa pagitan ng double quotes (tulad ng
"halaga"). Sa loob ng mga string, tiyak makatakas pagkakasunud-sunod ay kinikilala, tulad ng sa C. Ito ay:

\\ Isang literal na backslash.

\a Ang karakter na "alerto"; kadalasan ang karakter ng ASCII BEL.

\b Backspace.

\f Form-feed.

\n Bagong linya.

\r Pagbabalik ng karwahe.

\t Pahalang na tab.

\v Vertical na tab.

\xhex numero
Ang character na kinakatawan ng string ng hexadecimal digit kasunod ng \x. Bilang
sa ISO C, lahat ng sumusunod na hexadecimal digit ay itinuturing na bahagi ng pagtakas
pagkakasunod-sunod. (Dapat sabihin sa amin ng feature na ito ang tungkol sa disenyo ng wika ni
komite.) Hal, "\x1B" ay ang ASCII ESC (escape) na karakter.

\ddd Ang character na kinakatawan ng 1-, 2-, o 3-digit na pagkakasunud-sunod ng mga octal na digit. Hal,
"\033" ay ang ASCII ESC (escape) na karakter.

\c Ang literal na karakter c.

Ang mga pagkakasunud-sunod ng pagtakas ay maaari ding gamitin sa loob ng palagiang mga regular na expression (hal,
/[ \t\f\n\r\v]/ tumutugma sa mga character na whitespace).

Sa compatibility mode, ang mga character na kinakatawan ng octal at hexadecimal escape
literal na tinatrato ang mga pagkakasunud-sunod kapag ginamit sa mga regular na expression na pare-pareho. kaya, /a\52b/
ay katumbas ng /a\*b/.

MGA pattern AT MGA PAGKILOS


Ang AWK ay isang line-oriented na wika. Ang pattern ay mauna, at pagkatapos ay ang aksyon. Aksyon
mga pahayag ay nakapaloob sa { at }. Maaaring nawawala ang pattern, o maaaring ang aksyon
nawawala, ngunit, siyempre, hindi pareho. Kung ang pattern ay nawawala, ang aksyon ay isasagawa
para sa bawat solong tala ng input. Ang isang nawawalang aksyon ay katumbas ng

{ i-print }

na nagpi-print ng buong record.

Nagsisimula ang mga komento sa # character, at magpatuloy hanggang sa dulo ng linya. Mga blangkong linya
maaaring gamitin sa paghihiwalay ng mga pahayag. Karaniwan, ang isang pahayag ay nagtatapos sa isang bagong linya, gayunpaman,
hindi ito ang kaso para sa mga linyang nagtatapos sa kuwit, {, ?, :, &&, O ||. Mga linyang nagtatapos sa do
or iba awtomatikong ipagpapatuloy ang kanilang mga pahayag sa sumusunod na linya. Sa
ibang mga kaso, ang isang linya ay maaaring ipagpatuloy sa pamamagitan ng pagtatapos nito sa isang "\", kung saan ang bagong linya ay
hindi pinansin

Maramihang mga pahayag ay maaaring ilagay sa isang linya sa pamamagitan ng paghihiwalay sa kanila ng isang ";". Nalalapat ito sa
parehong mga pahayag sa loob ng bahagi ng aksyon ng isang pares ng pattern-action (ang karaniwang kaso), at
sa mismong mga pattern-action na pahayag.

Pattern
Ang mga pattern ng AWK ay maaaring isa sa mga sumusunod:

BEGIN
END
BEGINFILE
ENDFILE
/regular pagpapahayag/
pamanggit pagpapahayag
huwaran && huwaran
huwaran || huwaran
huwaran ? huwaran : huwaran
(huwaran)
! huwaran
pattern1, pattern2

BEGIN at END ay dalawang espesyal na uri ng mga pattern na hindi nasubok laban sa input.
Ang mga bahagi ng aksyon ng lahat BEGIN ang mga pattern ay pinagsama na parang lahat ng mga pahayag ay naging
nakasulat sa isang solong BEGIN tuntunin. Isinasagawa ang mga ito bago basahin ang alinman sa mga input.
Katulad nito, ang lahat ng END Ang mga panuntunan ay pinagsama, at isinasagawa kapag ang lahat ng input ay naubos na (o
kapag an lumabas ipinatupad ang pahayag). BEGIN at END hindi maaaring pagsamahin ang mga pattern sa iba
mga pattern sa mga expression ng pattern. BEGIN at END hindi maaaring magkaroon ng mga nawawalang bahagi ng pagkilos ang mga pattern.

BEGINFILE at ENDFILE ay karagdagang mga espesyal na pattern na ang mga katawan ay naisakatuparan bago
pagbabasa ng unang tala ng bawat command line input file at pagkatapos basahin ang huling tala
ng bawat file. Sa loob ng BEGINFILE tuntunin, ang halaga ng ERRNO ay ang walang laman na string kung
matagumpay na nabuksan ang file. Kung hindi, mayroong ilang problema sa file at sa
dapat gamitin ang code susunod na file para laktawan ito. Kung hindi ito nagawa, gawk gumagawa ng karaniwang nakamamatay
error para sa mga file na hindi mabuksan.

para /regular pagpapahayag/ pattern, ang nauugnay na pahayag ay isinasagawa para sa bawat input
record na tumutugma sa regular na expression. Ang mga regular na expression ay pareho sa mga nasa
egrep(1), at ibubuod sa ibaba.

A pamanggit pagpapahayag maaaring gumamit ng alinman sa mga operator na tinukoy sa ibaba sa seksyon sa
mga aksyon. Ang mga ito sa pangkalahatan ay sumusubok kung ang ilang mga field ay tumutugma sa ilang mga regular na expression.

Ang &&, ||, at ! Ang mga operator ay lohikal AT, lohikal O, at lohikal na HINDI, ayon sa pagkakabanggit,
tulad ng sa C. Gumagawa sila ng short-circuit na pagsusuri, gayundin sa C, at ginagamit para sa pagsasama-sama ng higit pa
primitive pattern expression. Tulad ng karamihan sa mga wika, ang mga panaklong ay maaaring gamitin upang baguhin
ang pagkakasunud-sunod ng pagsusuri.

Ang ?: operator ay tulad ng parehong operator sa C. Kung ang unang pattern ay totoo pagkatapos ay ang
pattern na ginamit para sa pagsubok ay ang pangalawang pattern, kung hindi man ito ay ang pangatlo. Isa lamang sa
nasusuri ang pangalawa at pangatlong pattern.

Ang pattern1, pattern2 Ang anyo ng pagpapahayag ay tinatawag na a saklaw huwaran. Ito ay tumutugma sa lahat
input record na nagsisimula sa isang record na tumutugma pattern1, at nagpapatuloy hanggang sa isang talaan
tugma yan pattern2, kasama. Hindi ito pinagsama sa anumang iba pang uri ng pattern
pagpapahayag.

regular expression
Ang mga regular na expression ay ang pinahabang uri na makikita sa egrep. Binubuo sila ng mga character
tulad ng sumusunod:

c Tumutugma sa hindi metacharacter c.

\c Tumutugma sa literal na karakter c.

. Tumutugma sa anumang karakter kabilang bagong linya.

^ Tumutugma sa simula ng isang string.

$ Tumutugma sa dulo ng isang string.

[abc...] Isang listahan ng character: tumutugma sa alinman sa mga character abc.... Maaari mong isama ang isang
hanay ng mga character sa pamamagitan ng paghihiwalay sa kanila gamit ang isang gitling.

[^abc...] Isang tinanggihang listahan ng character: tumutugma sa anumang karakter maliban abc....

r1|r2 Alternation: tugma alinman r1 or r2.

r1r2 Pagsasama-sama: mga posporo r1, At pagkatapos ay r2.

r+ Tumutugma sa isa o higit pa r's.

r* Tumutugma sa zero o higit pa r's.

r? Tumutugma sa zero o isa r's.

(r) Pagpapangkat: mga tugma r.

r{n}
r{n,}
r{n,m} Ang isa o dalawang numero sa loob ng braces ay nagpapahiwatig ng isang agwat pagpapahayag. Kung meron
isang numero sa mga braces, ang naunang regular na expression r ay paulit-ulit n
beses. Kung mayroong dalawang numero na pinaghihiwalay ng kuwit, r ay paulit-ulit n sa m
beses. Kung mayroong isang numero na sinusundan ng kuwit, kung gayon r ay nauulit man lang
n beses.

\y Tumutugma sa walang laman na string sa alinman sa simula o dulo ng isang salita.

\B Tumutugma sa walang laman na string sa loob ng isang salita.

\< Tumutugma sa walang laman na string sa simula ng isang salita.

\> Tumutugma sa walang laman na string sa dulo ng isang salita.

\s Tumutugma sa anumang whitespace na character.

\S Tumutugma sa anumang nonwhitespace na character.

\w Tumutugma sa anumang character na bumubuo ng salita (titik, digit, o underscore).

\W Tumutugma sa anumang karakter na hindi bumubuo ng salita.

\` Tumutugma sa walang laman na string sa simula ng isang buffer (string).

\' Tumutugma sa walang laman na string sa dulo ng isang buffer.

Ang mga escape sequence na wasto sa string constants (tingnan Pisi Constants) ay din
wasto sa mga regular na expression.

Katangian klase ay isang tampok na ipinakilala sa pamantayan ng POSIX. Ang klase ng karakter ay a
espesyal na notasyon para sa paglalarawan ng mga listahan ng mga character na may partikular na katangian, ngunit
kung saan ang mga aktwal na character mismo ay maaaring mag-iba mula sa bawat bansa at/o mula sa
character set sa character set. Halimbawa, ang paniwala ng kung ano ang isang alpabeto
naiiba ang karakter sa USA at sa France.

Ang isang klase ng character ay may bisa lamang sa isang regular na expression loob ang mga bracket ng isang karakter
listahan. Ang mga klase ng karakter ay binubuo ng [:, isang keyword na nagsasaad ng klase, at :]. ang
ang mga klase ng character na tinukoy ng pamantayan ng POSIX ay:

[:alnum:] Mga alphanumeric na character.

[:alpha:] Mga karakter sa alpabeto.

[:blangko:] Space o tab na mga character.

[:cntrl:] Kontrolin ang mga character.

[:digit:] Mga numerong character.

[:graph:] Mga character na parehong napi-print at nakikita. (Napi-print ang isang puwang, ngunit hindi
nakikita, habang ang isang a kapwa.)

[:baba:] Mga maliliit na titik sa alpabeto.

[:print:] Mga napi-print na character (mga character na hindi control character.)

[:punct:] Mga character na bantas (mga character na hindi titik, digit, control
mga character, o space character).

[:space:] Mga character sa espasyo (tulad ng space, tab, at formfeed, upang pangalanan ang ilan).

[:itaas:] Malaking titik na alpabetikong mga character.

[:xdigit:] Mga character na hexadecimal digit.

Halimbawa, bago ang pamantayan ng POSIX, upang tumugma sa mga alphanumeric na character, magkakaroon ka
kinailangang magsulat /[A-Za-z0-9]/. Kung ang iyong set ng character ay may iba pang mga alphabetic na character sa loob nito,
hindi ito tutugma sa kanila, at kung ang set ng iyong karakter ay naiiba sa ASCII, ito
maaaring hindi man lang tumugma sa mga ASCII alphanumeric na character. Sa mga klase ng character na POSIX,
maaari kang magsulat /[[:alnum:]]/, at tumutugma ito sa alpabetikong at numeric na mga character sa
ang set ng iyong karakter, anuman ito.

Dalawang karagdagang espesyal na pagkakasunud-sunod ang maaaring lumabas sa mga listahan ng character. Nalalapat ang mga ito sa hindi ASCII
set ng character, na maaaring magkaroon ng iisang simbolo (tinatawag na nagtitipon mga elemento) iyon ay
kinakatawan ng higit sa isang character, pati na rin ang ilang mga character na
katumbas para sa nagtitipon, o pag-uuri, mga layunin. (Hal, sa Pranses, isang payak na "e" at a
grave-accented "`" ay katumbas.)

Pagtitipon ng mga Simbolo
Ang isang collating symbol ay isang multi-character collating element na nakapaloob [. at .].
Halimbawa, kung ang ch ay isang collating element, kung gayon [[.ch.]] ay isang regular na expression
na tumutugma sa pinagsama-samang elementong ito, habang [ch] ay isang regular na expression na
magkatugma man c or h.

Equivalence Classes
Ang equivalence class ay isang locale-specific na pangalan para sa isang listahan ng mga character na
katumbas. Ang pangalan ay nakapaloob sa [= at =]. Halimbawa, ang pangalan e ay maaaring maging
ginamit upang kumatawan sa lahat ng "e," "´," at "`." Sa kasong ito, [[=e=]] ay isang regular
expression na tumutugma sa alinman sa e, , O e`.

Napakahalaga ng mga feature na ito sa mga lokal na hindi nagsasalita ng Ingles. Ang library ay gumagana
na gawk ginagamit para sa regular na pagtutugma ng expression sa kasalukuyan ay kinikilala lamang ang POSIX na character
mga klase; hindi nila kinikilala ang mga collating symbol o equivalence classes.

Ang \y, \B, \<, \>, \s, \S, \w, \W, \`, at \' ang mga operator ay tiyak sa gawk; sila ay
mga extension batay sa mga pasilidad sa mga library ng regular na expression ng GNU.

Kinokontrol ng iba't ibang opsyon sa command line kung paano gawk binibigyang-kahulugan ang mga karakter sa regular
mga ekspresyon.

Walang pagpipilian
Sa default na kaso, gawk nagbibigay ng lahat ng mga pasilidad ng POSIX regular expressions
at ang mga operator ng regular na expression ng GNU na inilarawan sa itaas.

--posix
Ang mga regular na expression ng POSIX lamang ang sinusuportahan, ang mga operator ng GNU ay hindi espesyal.
(Hal, \w tumutugma sa isang literal w).

--tradisyonal
Tradisyonal na UNIX ang awkward ang mga regular na expression ay naitugma. Ang mga operator ng GNU ay hindi
espesyal, at hindi available ang mga expression ng interval. Mga character na inilalarawan ng octal
at ang mga hexadecimal escape sequence ay literal na tinatrato, kahit na kinakatawan ng mga ito
mga metacharacter ng regular na expression.

--muling pagitan
Payagan ang mga expression ng pagitan sa mga regular na expression, kahit na --tradisyonal ay naging
ibinigay.

Aksyon
Ang mga pahayag ng aksyon ay nakapaloob sa mga braces, { at }. Ang mga pahayag ng aksyon ay binubuo ng karaniwan
pagtatalaga, kondisyon, at looping na mga pahayag na matatagpuan sa karamihan ng mga wika. Ang mga operator,
control statement, at input/output statement na available ay naka-pattern sa mga nasa C.

Operator
Ang mga operator sa AWK, sa pagkakasunud-sunod ng pagbaba ng precedence, ay:

(...) Pagpapangkat

$ Sanggunian sa larangan.

++ -- Increment at decrement, parehong prefix at postfix.

^ Exponentiation (** maaari ding gamitin, at **= para sa operator ng pagtatalaga).

+ - ! Unary plus, unary minus, at logical negation.

* / % Multiplikasyon, paghahati, at modulus.

+ - Pagdagdag at pagbawas.

puwang Pagsasama-sama ng string.

| |& Piped I/O para sa getline, i-print, at printf.

< > <= >= != ==
Ang mga regular na relational operator.

~ !~ Regular na expression na tugma, negated na tugma. NOTA: Huwag gumamit ng palagiang regular
ekspresyon (/foo/) sa kaliwang bahagi ng a ~ or !~. Gumamit lamang ng isa sa
kanang bahagi. Ang ekspresyon /foo/ ~ exp ay may parehong kahulugan bilang ($0 ~
/foo/) ~ exp). Ito ay karaniwang hindi anong gusto mo.

in Array membership.

&& Lohikal AT.

|| Lohikal O.

?: Ang C conditional expression. Ito ang may anyo expr1 ? expr2 : expr3. Kung
expr1 ay totoo, ang halaga ng expression ay expr2, kung hindi ito ay expr3.
Isa lamang sa expr2 at expr3 ay sinusuri.

= += -= *= /= %= ^=
Takdang-aralin. Parehong ganap na pagtatalaga (ay = halaga) at operator-assignment
(ang iba pang mga form) ay suportado.

Kontrolin Pahayag
Ang mga control statement ay ang mga sumusunod:

if (kalagayan) pahayag [ iba pahayag ]
habang (kalagayan) pahayag
do pahayag habang (kalagayan)
para (expr1; expr2; expr3) pahayag
para (ay in ayos) pahayag
masira
magpatuloy
alisin ayos[index]
alisin ayos
lumabas [ pagpapahayag ]
{ pahayag }
lumipat (pagpapahayag) {
kaso halaga|regex : pahayag
...
[ default: pahayag ]
}

I / O Pahayag
Ang mga pahayag ng input/output ay ang mga sumusunod:

malapit na(file [, paano]) Isara ang file, pipe o co-process. Ang opsyonal paano dapat lang
ginagamit kapag isinasara ang isang dulo ng isang two-way na pipe sa isang co-process. Ito
dapat ay isang string value, alinman "sa" or "mula sa".

getline Itakda $0 mula sa susunod na input record; itakda NF, NR, FNR, RT.

getline <file Itakda $0 mula sa susunod na talaan ng file; itakda NF, RT.

getline ay Itakda ay mula sa susunod na input record; itakda NR, FNR, RT.

getline ay <file Itakda ay mula sa susunod na talaan ng file, RT.

utos | getline [ay]
Tumakbo utos piping ang output alinman sa $0 or ay, tulad ng nasa itaas, at
RT.

utos |& getline [ay]
Tumakbo utos bilang isang co-process piping ang output alinman sa $0 or ay,
tulad ng nasa itaas, at RT. Ang mga co-process ay a gawk extension. (utos maaari
maging socket din. Tingnan ang subsection espesyal talaksan pangalan, sa ibaba.)

susunod Ihinto ang pagpoproseso ng kasalukuyang input record. Ang susunod na input record ay
magsisimula ang pagbabasa at pagproseso sa unang pattern sa AWK
programa. Sa pag-abot sa dulo ng input data, gawk nagsasagawa ng anuman
END (mga) tuntunin.

susunod na file Ihinto ang pagproseso ng kasalukuyang input file. Nabasa ang susunod na record ng input
ay mula sa susunod na input file. FILENAME at ARGIND ay na-update,
FNR ay na-reset sa 1, at ang pagproseso ay magsisimula muli sa unang pattern
sa programang AWK. Sa pag-abot sa dulo ng input data, gawk
nagsasagawa ng anuman END (mga) tuntunin.

i-print I-print ang kasalukuyang tala. Ang output record ay winakasan sa
halaga ng ORS.

i-print expr-list Mag-print ng mga expression. Ang bawat expression ay pinaghihiwalay ng halaga ng
FSO. Ang output record ay winakasan sa halaga ng ORS.

i-print expr-list >file I-print ang mga expression sa file. Ang bawat ekspresyon ay pinaghihiwalay ng
halaga ng FSO. Ang output record ay winakasan sa halaga ng
ORS.

printf fmt, expr-list I-format at i-print. Tingnan mo Ang printf Pahayag, sa ibaba.

printf fmt, expr-list >file
I-format at i-print sa file.

sistema(cmd-line) Gawin ang utos cmd-line, at ibalik ang exit status. (Ito ay maaaring
hindi magagamit sa mga non-POSIX system.)

flush([file]) I-flush ang anumang buffer na nauugnay sa bukas na output file o pipe file.
If file ay nawawala o kung ito ay ang null string, pagkatapos ay i-flush ang lahat ng bukas
mga output file at pipe.

Ang mga karagdagang pag-redirect ng output ay pinapayagan para sa i-print at printf.

i-print ... >> file
Nagdaragdag ng output sa file.

i-print ... | utos
Nagsusulat sa isang tubo.

i-print ... |& utos
Nagpapadala ng data sa isang co-process o socket. (Tingnan din ang subsection espesyal talaksan pangalan,
sa ibaba.)

Ang getline Ang command ay nagbabalik ng 1 sa tagumpay, 0 sa dulo ng file, at -1 sa isang error. Sa isang
pagkakamali, ERRNO ay nakatakda sa isang string na naglalarawan sa problema.

NOTA: Ang pagkabigo sa pagbubukas ng two-way socket ay nagreresulta sa isang hindi nakamamatay na error na ibinalik sa
ang function ng pagtawag. Kung gumagamit ng pipe, co-process, o socket sa getline, o mula sa i-print or
printf sa loob ng isang loop, ikaw dapat gamitin isara () upang lumikha ng mga bagong pagkakataon ng utos o
saksakan. Hindi awtomatikong isinasara ng AWK ang mga pipe, socket, o co-process kapag bumalik ang mga ito
EOF.

Ang printf Pahayag
Ang mga bersyon ng AWK ng printf pahayag at sprintf() function (tingnan sa ibaba) tanggapin ang
sumusunod na mga format ng detalye ng conversion:

%c Isang karakter. Kung ginamit ang argumento para sa %c ay numeric, ito ay itinuturing bilang a
karakter at nakalimbag. Kung hindi, ang argumento ay ipinapalagay na isang string, at ang
unang character lang ng string na iyon ang naka-print.

%d, %i Isang decimal na numero (ang bahagi ng integer).

%e, %E Isang floating point number ng form [-]d.dddddde[+-]dd. ang %E gamit ang format E
sa halip ng e.

%f, %F Isang floating point number ng form [-]ddd.dddddd. Kung sinusuportahan ng system library
ito, %F ay magagamit din. Ito ay tulad ng %f, ngunit gumagamit ng malalaking titik para sa espesyal
"not a number" at "infinity" values. Kung %F ay hindi magagamit, gawk Gumagamit %f.

%g, %G paggamit %e or %f conversion, alinman ang mas maikli, na may mga hindi makabuluhang zero
pinigilan. Ang %G gamit ang format %E sa halip ng %e.

%o Isang unsigned octal number (isa ring integer).

%u Isang unsigned decimal number (muli, isang integer).

%s Isang string ng character.

%x, %X Isang unsigned hexadecimal number (isang integer). Ang %X gamit ang format ABCDEF sa halip ng
abcdef.

%% Isang solong % karakter; walang argumento ang binago.

Opsyonal, ang mga karagdagang parameter ay maaaring nasa pagitan ng % at ang control letter:

bilangin$ Gamitin ang bilangin'ika argumento sa puntong ito sa pag-format. Ito ay tinatawag na a
posibilidad tukuyin at pangunahing inilaan para sa paggamit sa mga isinaling bersyon ng
format na mga string, wala sa orihinal na text ng isang AWK program. Ito ay isang gawk
karugtong

- Ang expression ay dapat na kaliwa-makatwiran sa loob ng field nito.

puwang Para sa mga numerong conversion, i-prefix ang mga positibong halaga na may espasyo, at mga negatibong halaga
na may minus sign.

+ Ang plus sign, na ginamit bago ang width modifier (tingnan sa ibaba), ay nagsasabing palaging mag-supply ng a
mag-sign para sa mga numerong conversion, kahit na positibo ang data na ipo-format. Ang +
override ang space modifier.

# Gumamit ng "alternate form" para sa ilang mga control letter. Para sa %o, magbigay ng isang nangungunang
sero. Para sa %x, at %X, magbigay ng isang nangungunang 0x or 0X para sa isang hindi zero na resulta. Para sa %e, %E,
%f at %F, ang resulta ay palaging naglalaman ng isang decimal point. Para sa %g, at %G, sumusunod
ang mga zero ay hindi inaalis sa resulta.

0 Isang nangunguna 0 (zero) ay gumaganap bilang isang bandila, na nagpapahiwatig na ang output ay dapat na may palaman
mga zero sa halip na mga puwang. Nalalapat lamang ito sa mga numeric na format ng output. Ito
Ang flag ay may epekto lamang kapag ang lapad ng field ay mas malawak kaysa sa halagang ipi-print.

' Nagtuturo ang isang solong quote character gawk para ipasok ang thousands-separator ng locale
character sa mga decimal na numero, at para magamit din ang decimal point ng locale
character na may mga format ng floating point. Nangangailangan ito ng tamang lokal na suporta sa
C library at sa kahulugan ng kasalukuyang lokal.

lapad Ang patlang ay dapat na may palaman sa lapad na ito. Ang field ay karaniwang may palaman
mga espasyo. Kasama ang 0 bandila, ito ay may palaman na mga zero.

.prev Isang numero na tumutukoy sa katumpakan na gagamitin kapag nagpi-print. Para sa %e, %E, %f at
%F, mga format, tinutukoy nito ang bilang ng mga digit na gusto mong i-print sa kanan
ang decimal point. Para sa %g, at %G mga format, tinutukoy nito ang maximum na bilang ng
makabuluhang digit. Para sa %d, %i, %o, %u, %x, at %X mga format, tinutukoy nito ang
minimum na bilang ng mga digit na ipi-print. Para sa %s, tinutukoy nito ang maximum na bilang ng
mga character mula sa string na dapat i-print.

Ang pabago-bago lapad at prev mga kakayahan ng ISO C printf() sinusuportahan ang mga gawain. A *
sa lugar ng alinman sa lapad or prev ang mga pagtutukoy ay nagiging sanhi ng kanilang mga halaga na kinuha mula sa
ang listahan ng argumento sa printf or sprintf(). Upang gumamit ng positional specifier na may dynamic
lapad o katumpakan, ibigay ang bilangin$ pagkatapos ng * sa format na string. Halimbawa,
"%3$*2$.*1$s".

espesyal talaksan pangalan
Kapag gumagawa ng I/O redirection mula sa alinman i-print or printf sa isang file, o sa pamamagitan ng getline mula sa isang
file, gawk kinikilala ang ilang mga espesyal na filename sa loob. Ang mga filename na ito ay nagbibigay-daan sa pag-access
upang buksan ang mga deskriptor ng file na minana mula sa gawkproseso ng magulang (karaniwan ay ang shell). Ang mga ito
Ang mga pangalan ng file ay maaari ding gamitin sa command line upang pangalanan ang mga file ng data. Ang mga filename ay:

- Ang karaniwang input.

/dev/stdin Ang karaniwang input.

/dev/stdout Ang karaniwang output.

/dev/stderr Ang karaniwang output ng error.

/dev/fd/n Ang file na nauugnay sa open file descriptor n.

Ang mga ito ay partikular na kapaki-pakinabang para sa mga mensahe ng error. Halimbawa:

i-print "Ikaw pumutok ito!" > "/dev/stderr"

samantalang kung hindi man ay kailangan mong gamitin

i-print "Ikaw pumutok ito!" | "pusa 1>&2"

Ang mga sumusunod na espesyal na filename ay maaaring gamitin kasama ng |& co-process operator para sa paglikha
Mga koneksyon sa network ng TCP/IP:

/inet/tcp/lport/rhost/ulat
/inet4/tcp/lport/rhost/ulat
/inet6/tcp/lport/rhost/ulat
Mga file para sa koneksyon ng TCP/IP sa lokal na port lport sa malayong host rhost sa remote
port ulat. Gumamit ng port ng 0 para mapili ang system ng port. Gamitin /inet4 upang puwersa
isang koneksyon sa IPv4, at /inet6 upang pilitin ang isang koneksyon sa IPv6. Plain /inet ay gumagamit ng
default ng system (malamang na IPv4).

/inet/udp/lport/rhost/ulat
/inet4/udp/lport/rhost/ulat
/inet6/udp/lport/rhost/ulat
Katulad, ngunit gumamit ng UDP/IP sa halip na TCP/IP.

Numeric Pag-andar
Ang AWK ay may mga sumusunod na built-in na arithmetic function:

atan2(y, x) Ibalik ang arctangent ng y / x sa radians.

cos (ipahayag) Ibalik ang cosine ng ipahayag, na nasa radians.

exp(ipahayag) Ang exponential function.

int(ipahayag) Putulin sa integer.

log(ipahayag) Ang natural na logarithm function.

rand() Magbalik ng random na numero N, sa pagitan ng 0 at 1, na ang 0 ≤ N < 1.

kasalanan (ipahayag) Ibalik ang sine ng ipahayag, na nasa radians.

sqrt(ipahayag) Ibalik ang square root ng ipahayag.

srand([ipahayag]) paggamit ipahayag bilang bagong binhi para sa random number generator. Kung hindi ipahayag is
sa kondisyon, gamitin ang oras ng araw. Ibalik ang nakaraang binhi para sa random
generator ng numero.

Pisi Pag-andar
Gawk ay may mga sumusunod na built-in na string function:

isang uri(s [, d [, paano] ]) Ibalik ang bilang ng mga elemento sa source array s. Pagbukud-bukurin ang
nilalaman ng s paggamit gawkang mga normal na panuntunan para sa paghahambing ng mga halaga, at
palitan ang mga indeks ng mga pinagsunod-sunod na halaga s na may sequential
integer na nagsisimula sa 1. Kung ang opsyonal na hanay ng patutunguhan d is
tinukoy, unang duplicate s sa d, at pagkatapos ay ayusin d, umaalis sa
mga indeks ng hanay ng pinagmulan s hindi nagbabago. Ang opsyonal na string paano
kinokontrol ang direksyon at ang mode ng paghahambing. Mga wastong halaga para sa
paano ang alinman sa mga string ay wasto para sa PROCINFO["sorted_in"]. Ito
ay maaari ding maging pangalan ng isang function ng paghahambing na tinukoy ng gumagamit bilang
inilarawan sa PROCINFO["sorted_in"].

asorti(s [, d [, paano] ])
Ibalik ang bilang ng mga elemento sa source array s. Ang ugali
ay pareho ng sa isang uri(), maliban na ang array mga indeks ng ay
ginagamit para sa pag-uuri, hindi ang mga halaga ng array. Kapag tapos na, ang array ay
na-index ayon sa numero, at ang mga halaga ay yaong sa orihinal
mga indeks. Nawala ang mga orihinal na halaga; kaya magbigay ng isang segundo
array kung nais mong mapanatili ang orihinal. Ang layunin ng
opsyonal na string paano ay pareho sa inilarawan sa isang uri() sa itaas.

gensub(r, s, h [, t]) Hanapin ang target na string t para sa mga tugma ng regular na expression
r. Kung h ay isang string na nagsisimula sa g or G, pagkatapos ay palitan lahat
mga tugma ng r sa s. Kung hindi man, h ay isang numerong nagsasaad kung alin
tugma ng r upang palitan. Kung t ay hindi ibinibigay, gamitin $0 sa halip.
Sa loob ng kapalit na text s, Ang pagkakasunod-sunod \n, Kung saan n ay isang digit
mula 1 hanggang 9, ay maaaring gamitin upang ipahiwatig lamang ang teksto na tumugma
ang n'ika panaklong subexpression. Ang pagkakasunod-sunod \0 kumakatawan
ang buong katugmang teksto, gayundin ang karakter &. Hindi katulad sub()
at gsub(), ang binagong string ay ibinalik bilang resulta ng
function, at ang orihinal na target na string ay hindi nagbago.

gsub(r, s [, t]) Para sa bawat substring na tumutugma sa regular na expression r sa tali
t, palitan ang string s, at ibalik ang bilang ng
pagpapalit. Kung t ay hindi ibinibigay, gamitin $0, Sa & nasa
ang kapalit na text ay pinalitan ng text na dati
tugma. Gamitin \& para makakuha ng literal &. (Dapat itong i-type bilang
"\\&"; tingnan GAWK: Mabisa AWK Programming para sa mas buong talakayan
ng mga tuntunin para sa &'s at backslash sa kapalit na text ng
sub(), gsub(), at gensub().)

index (s, t) Ibalik ang index ng string t sa tali s, o 0 kung t Hindi
kasalukuyan. (Ito ay nagpapahiwatig na ang mga indeks ng character ay nagsisimula sa isa.) Ito
ay isang nakamamatay na error sa paggamit ng regexp constant para sa t.

haba([s]) Ibalik ang haba ng string s, o ang haba ng $0 if s Hindi
binigay. Bilang isang hindi karaniwang extension, na may array argument,
haba() ibinabalik ang bilang ng mga elemento sa array.

tugma(s, r [, a]) Ibalik ang posisyon sa s kung saan ang regular na expression r nangyayari, o
0 kung r ay wala, at itakda ang mga halaga ng Magsimula at RLENGTH.
Tandaan na ang pagkakasunud-sunod ng argumento ay kapareho ng para sa ~ operator:
STR ~ re. Kung array a ay ibinigay, a ay na-clear at pagkatapos ay mga elemento
1 hanggang n ay puno ng mga bahagi ng s na tumutugma sa
kaukulang panaklong subexpression sa r. Ang ika-0 na elemento
of a naglalaman ng bahagi ng s tumugma sa buong regular
pagpapahayag r. Mga subscript a[n, "simula"], at a[n, "haba"]
ibigay ang panimulang index sa string at haba ayon sa pagkakabanggit,
ng bawat tumutugmang substring.

patsplit(s, a [, r [, seps] ])
Hatiin ang string s sa array a at ang hanay ng mga separator seps
sa regular na expression r, at ibalik ang bilang ng mga field.
Ang mga halaga ng elemento ay ang mga bahagi ng s na tumugma r. Ang halaga ng
seps[i] ay ang separator na lumitaw sa harap ng a[i+1]. Kung r
ay tinanggal, FPAT ay ginagamit sa halip. Ang mga arrays a at seps ay
clear muna. Parehong kumikilos ang splitting sa field splitting
sa FPAT, inilarawan sa itaas.

hati(s, a [, r [, seps] ])
Hatiin ang string s sa array a at ang hanay ng mga separator seps
sa regular na expression r, at ibalik ang bilang ng mga field. Kung
r ay tinanggal, FS ay ginagamit sa halip. Ang mga arrays a at seps ay
clear muna. seps[i] ay ang field separator na tinutugma ng r
sa pagitan ng a[i] at a[i+1]. Kung r ay isang solong espasyo, pagkatapos ay humahantong
whitespace sa s napupunta sa dagdag na elemento ng array seps[0] at
napupunta ang trailing whitespace sa dagdag na elemento ng array seps[n],
saan n ay ang return value ng hati(s, a, r, seps). Naghahati
pare-parehong kumikilos sa paghahati ng field, na inilarawan sa itaas.

sprintf (fmt, expr-list) Print expr-list ayon sa fmt, at ibalik ang nagresultang string.

strtonum(STR) Suriin STR, at ibalik ang numeric na halaga nito. Kung STR nagsisimula sa a
nangunguna 0, ituring ito bilang isang octal na numero. Kung STR nagsisimula sa a
nangunguna 0x or 0X, ituring ito bilang isang hexadecimal na numero. kung hindi,
ipagpalagay na ito ay isang decimal na numero.

sub(r, s [, t]) Tulad ng gsub(), ngunit palitan lamang ang unang tumutugmang substring.

substr(s, i [, n]) Ibalik ang pinakamaraming n-character substring ng s nagsisimula sa i. Kung n
ay tinanggal, gamitin ang natitira sa s.

babaan(STR) Magbalik ng kopya ng string STR, kasama ang lahat ng malalaking titik
in STR isinalin sa kanilang kaukulang maliliit na katapat.
Ang mga hindi alphabetic na character ay hindi nababago.

topper(STR) Magbalik ng kopya ng string STR, kasama ang lahat ng maliliit na character
in STR isinalin sa kanilang mga kaukulang uppercase na katapat.
Ang mga hindi alphabetic na character ay hindi nababago.

Gawk ay multibyte aware. Ibig sabihin nito index (), haba(), substr() at tugma() lahat ng trabaho
sa mga tuntunin ng mga character, hindi bytes.

oras Pag-andar
Dahil ang isa sa mga pangunahing gamit ng mga AWK program ay ang pagproseso ng mga log file na naglalaman ng oras
impormasyon ng selyo, gawk nagbibigay ng mga sumusunod na function para sa pagkuha ng mga time stamp at
pag-format sa kanila.

mktime(datespec)
Lumiko datespec sa isang time stamp ng parehong anyo na ibinalik ni systime(), at
ibalik ang resulta. Ang datespec ay isang string ng anyo YYYY MM DD HH MM SS[
DST]. Ang mga nilalaman ng string ay anim o pitong numero na kumakatawan
ayon sa pagkakabanggit ang buong taon kasama ang siglo, ang buwan mula 1 hanggang 12, ang araw ng
ang buwan mula 1 hanggang 31, ang oras ng araw mula 0 hanggang 23, ang minuto mula 0 hanggang
59, ang pangalawa mula 0 hanggang 60, at isang opsyonal na daylight saving flag. Ang mga halaga
sa mga numerong ito ay hindi kailangang nasa loob ng mga tinukoy na hanay; halimbawa, isang oras
ng -1 ay nangangahulugang 1 oras bago ang hatinggabi. Ang pinagmulan-zero Gregorian na kalendaryo ay
ipinapalagay, na may taong 0 bago ang taon 1 at taon -1 bago ang taon 0. Ang oras ay
ipinapalagay na nasa lokal na timezone. Kung positibo ang daylight saving flag,
ang oras ay ipinapalagay na daylight saving time; kung zero, ang oras ay ipinapalagay na
maging karaniwang oras; at kung negatibo (ang default), mktime() pagtatangka upang matukoy
kung ang daylight saving time ay may bisa para sa tinukoy na oras. Kung datespec
ay hindi naglalaman ng sapat na mga elemento o kung ang resultang oras ay wala sa saklaw,
mktime() nagbabalik -1.

strftime([format [, timestamp[, utc-flag]]])
format timestamp ayon sa espesipikasyon sa format. Kung utc-flag is
kasalukuyan at non-zero o non-null, ang resulta ay nasa UTC, kung hindi ang resulta
ay nasa lokal na oras. Ang timestamp dapat pareho ang anyo na ibinalik ni
systime(). Kung timestamp ay nawawala, ang kasalukuyang oras ng araw ay ginagamit. Kung format
ay nawawala, isang default na format na katumbas ng output ng petsa(1) ay ginagamit. Ang
ang default na format ay magagamit sa PROCINFO["strftime"]. Tingnan ang detalye para sa
ang strftime() function sa ISO C para sa mga conversion na format na ginagarantiyahan
para maging available.

systime() Ibalik ang kasalukuyang oras ng araw bilang bilang ng mga segundo mula noong Panahon
(1970-01-01 00:00:00 UTC sa POSIX system).

kaunti Manipulations Pag-andar
Gawk nagbibigay ng mga sumusunod na bit manipulation function. Nagtatrabaho sila sa pamamagitan ng pag-convert ng dobleng-
katumpakan floating point na mga halaga sa uintmax_t integer, ginagawa ang operasyon, at pagkatapos
pag-convert ng resulta pabalik sa lumulutang na punto. Ang mga function ay:

at(v1, v2 [, ...]) Ibalik ang bitwise AND ng mga value na ibinigay sa listahan ng argumento.
Dapat mayroong hindi bababa sa dalawa.

compl(Val) Ibalik ang bitwise complement ng Val.

lshift(Val, bilangin) Ibalik ang halaga ng Val, inilipat pakaliwa ng bilangin mga piraso

o(v1, v2 [, ...]) Ibalik ang bitwise OR ng mga value na ibinigay sa listahan ng argumento.
Dapat mayroong hindi bababa sa dalawa.

rshift(Val, bilangin) Ibalik ang halaga ng Val, inilipat pakanan ng bilangin mga piraso

xor(v1, v2 [, ...]) Ibalik ang bitwise XOR ng mga value na ibinigay sa listahan ng argumento.
Dapat mayroong hindi bababa sa dalawa.

uri tungkulin
Ang sumusunod na function ay para sa paggamit sa mga multidimensional array.

isarray(x)
Ibalik ang totoo kung x ay isang array, false kung hindi man.

internationalization Pag-andar
Ang mga sumusunod na function ay maaaring gamitin mula sa loob ng iyong AWK program para sa pagsasalin ng mga string
sa run-time. Para sa buong detalye, tingnan GAWK: Mabisa AWK Programming.

bindtextdomain(direktoryo [, domain])
Tukuyin ang direktoryo kung saan gawk hinahanap ang .gmo mga file, kung sakaling hindi sila o
hindi maaaring ilagay sa ``karaniwang'' mga lokasyon (hal., sa panahon ng pagsubok). Nagbabalik ito
ang direktoryo kung saan domain ay ``nakatali.''
Ang default domain ay ang halaga ng TEXTDOMAIN. Kung direktoryo ay ang null string
(""), pagkatapos bindtextdomain() ibinabalik ang kasalukuyang umiiral para sa ibinigay domain.

dcgettext(pisi [, domain [, kategorya]])
Ibalik ang pagsasalin ng pisi sa domain ng teksto domain para sa lokal na kategorya
kategorya. Ang default na halaga para sa domain ay ang kasalukuyang halaga ng TEXTDOMAIN. ang
default na halaga para sa kategorya is "LC_MESSAGES".
Kung magbibigay ka ng halaga para sa kategorya, ito ay dapat na isang string na katumbas ng isa sa mga kilala
mga kategorya ng lokal na inilarawan sa GAWK: Mabisa AWK Programming. Ikaw ay dapat din
magbigay ng text domain. Gamitin TEXTDOMAIN kung gusto mong gamitin ang kasalukuyang domain.

dcngettext(string1, string2, numero [, domain [, kategorya]])
Ibalik ang pangmaramihang anyo na ginamit para sa numero ng pagsasalin ng string1 at string2 in
domain ng teksto domain para sa lokal na kategorya kategorya. Ang default na halaga para sa domain is
ang kasalukuyang halaga ng TEXTDOMAIN. Ang default na halaga para sa kategorya is "LC_MESSAGES".
Kung magbibigay ka ng halaga para sa kategorya, ito ay dapat na isang string na katumbas ng isa sa mga kilala
mga kategorya ng lokal na inilarawan sa GAWK: Mabisa AWK Programming. Ikaw ay dapat din
magbigay ng text domain. Gamitin TEXTDOMAIN kung gusto mong gamitin ang kasalukuyang domain.

USER-DEFINE Mga function


Ang mga function sa AWK ay tinukoy bilang mga sumusunod:

tungkulin pangalan(parametro listahan) { pahayag }

Ang mga pag-andar ay isinasagawa kapag tinawag sila mula sa loob ng mga expression sa alinman sa mga pattern o
mga aksyon. Ang aktwal na mga parameter na ibinibigay sa function na tawag ay ginagamit upang i-instantiate ang
pormal na mga parameter na idineklara sa function. Ang mga array ay ipinapasa sa pamamagitan ng sanggunian, iba pa
ang mga variable ay ipinapasa sa pamamagitan ng halaga.

Dahil ang mga function ay hindi orihinal na bahagi ng AWK na wika, ang probisyon para sa lokal
ang mga variable ay medyo clumsy: Idineklara ang mga ito bilang mga karagdagang parameter sa listahan ng parameter.
Ang convention ay upang paghiwalayin ang mga lokal na variable mula sa mga tunay na parameter sa pamamagitan ng mga karagdagang puwang sa
listahan ng parameter. Halimbawa:

tungkulin f(p, q, a, b) # a at b ay lokal
{
...
}

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

Ang kaliwang panaklong sa isang function na tawag ay kinakailangan upang agad na masundan ang function
pangalan, nang walang anumang intervening na whitespace. Iniiwasan nito ang isang syntactic ambiguity sa
operator ng concatenation. Ang paghihigpit na ito ay hindi nalalapat sa mga built-in na function na nakalista
sa itaas.

Maaaring tawagan ng mga function ang isa't isa at maaaring recursive. Ginagamit ang mga parameter ng function bilang lokal
Ang mga variable ay sinisimulan sa null string at ang numerong zero sa function invocation.

paggamit pagbabalik ipahayag upang ibalik ang isang halaga mula sa isang function. Ang return value ay hindi natukoy kung hindi
ang halaga ay ibinigay, o kung ang function ay bumalik sa pamamagitan ng "pagbagsak" sa dulo.

Bilang isang gawk extension, ang mga function ay maaaring tawaging hindi direkta. Upang gawin ito, italaga ang pangalan ng
ang function na tatawagin, bilang isang string, sa isang variable. Pagkatapos ay gamitin ang variable na parang ito
ay ang pangalan ng isang function, na may prefix na an @ tanda, tulad nito:
tungkulin myfunc()
{
i-print "myfunc tinawag"
...
}

{ ...
the_func = "myfunc"
@the_func() # tawag sa pamamagitan ng the_func sa myfunc
...
}
Sa bersyon 4.1.2, gumagana ito sa mga function na tinukoy ng gumagamit, mga built-in na function, at
mga function ng extension.

If --lint ay ibinigay, gawk nagbabala tungkol sa mga tawag sa hindi natukoy na mga function sa oras ng pag-parse,
sa halip na sa oras ng pagtakbo. Ang pagtawag sa isang hindi natukoy na function sa oras ng pagtakbo ay isang nakamamatay na error.

Ang salitang func maaaring magamit bilang kapalit ng tungkulin, bagama't hindi na ito ginagamit.

DINAMIKAL PAGLABAN BAGONG Mga function


Maaari mong dynamic na magdagdag ng mga bagong built-in na function sa pagtakbo gawk interpreter na may
@load pahayag. Ang buong detalye ay lampas sa saklaw ng manwal na pahinang ito; tingnan mo GAWK:
Mabisa AWK Programming.

Mga TANDA


Ang gawk tumatanggap ang profiler ng dalawang signal. SIGUSR1 nagiging sanhi ito ng pagtatapon ng isang profile at function
call stack sa profile file, na alinman awkprof.out, o anumang file na pinangalanan
sa --profile opsyon. Pagkatapos ay nagpatuloy ito sa pagtakbo. FOLLOW UP sanhi gawk upang itapon ang
profile at function call stack at pagkatapos ay lumabas.

INTERNASYONALISASYON


Ang mga string constant ay mga sequence ng mga character na nakapaloob sa double quotes. Sa hindi Ingles
mga kapaligiran sa pagsasalita, posibleng markahan ang mga string sa AWK program bilang nangangailangan
pagsasalin sa lokal na natural na wika. Ang ganitong mga string ay minarkahan sa AWK program na may
isang nangungunang underscore (“_”). Halimbawa,

gawk 'SIMULA { i-print "Kamusta, mundo " }'

laging nagpi-print Kamusta, mundo. Ngunit,

gawk 'SIMULA { i-print _"Kamusta, mundo " }'

maaaring mag-print bonjour, monde sa France.

Mayroong ilang mga hakbang na kasangkot sa paggawa at pagpapatakbo ng isang localizable na AWK program.

1. Magdagdag ng a BEGIN pagkilos upang magtalaga ng halaga sa TEXTDOMAIN variable upang itakda ang domain ng teksto
sa isang pangalan na nauugnay sa iyong programa:

BEGIN { TEXTDOMAIN = "myprog" }

Pinapayagan nito gawk upang mahanap ang .gmo file na nauugnay sa iyong programa. Kung wala ito
hakbang, gawk ay gumagamit ng mensahe domain ng teksto, na malamang na walang mga pagsasalin
para sa iyong programa.

2. Markahan ang lahat ng mga string na dapat isalin na may mga nangungunang underscore.

3. Kung kinakailangan, gamitin ang dcgettext() at / o bindtextdomain() mga function sa iyong programa,
kung naaangkop.

4. Tumakbo gawk --gen-pot -f myprog.awk > myprog.pot upang bumuo ng isang .pot file para sa iyong
programa.

5. Magbigay ng naaangkop na mga pagsasalin, at buuin at i-install ang katumbas .gmo file.

Ang mga tampok ng internasyonalisasyon ay inilarawan nang buong detalye sa GAWK: Mabisa AWK
Programming.

POSIX Kakayahan na


Isang pangunahing layunin para sa gawk ay pagiging tugma sa pamantayan ng POSIX, gayundin sa
pinakabagong bersyon ng Brian Kernighan's ang awkward. Para dito, gawk isinasama ang mga sumusunod
nakikita ng user na mga feature na hindi inilarawan sa AWK book, ngunit bahagi ng Brian
Ang bersyon ni Kernighan ng ang awkward, at nasa pamantayan ng POSIX.

Ang aklat ay nagpapahiwatig na ang command line variable assignment ay nangyayari kapag ang awkward kung hindi
buksan ang argumento bilang isang file, na pagkatapos ng BEGIN ang panuntunan ay naisakatuparan. Gayunpaman, sa
naunang mga pagpapatupad, kapag ang naturang pagtatalaga ay lumitaw bago ang anumang mga pangalan ng file, ang
pagtatalaga ay mangyayari bago ang BEGIN pinatakbo ang panuntunan. Ang mga aplikasyon ay nakadepende sa
ang tampok na ito." Kailan ang awkward ay binago upang tumugma sa dokumentasyon nito, ang -v pagpipilian para sa
pagtatalaga ng mga variable bago ang pagpapatupad ng programa ay idinagdag upang mapaunlakan ang mga aplikasyon na
depende sa lumang pag-uugali. (Ang tampok na ito ay napagkasunduan ng parehong Bell
Laboratories at ang mga developer ng GNU.)

Kapag nagpoproseso ng mga argumento, gawk ay gumagamit ng espesyal na opsyon na "--" upang ipahiwatig ang pagtatapos ng
mga argumento. Sa compatibility mode, nagbabala ito tungkol sa ngunit kung hindi man ay binabalewala ang hindi natukoy na mga opsyon.
Sa normal na operasyon, ang mga naturang argumento ay ipinapasa sa AWK program para maproseso ito.

Hindi tinukoy ng AWK book ang return value ng srand(). Ang pamantayan ng POSIX ay mayroon nito
ibalik ang binhi na ginagamit nito, upang payagan ang pagsubaybay sa mga random na pagkakasunud-sunod ng numero.
Samakatwid srand() in gawk ibinabalik din ang kasalukuyang binhi nito.

Ang iba pang mga bagong tampok ay: Ang paggamit ng maramihang -f mga pagpipilian (mula sa MKS ang awkward); ang KAPALIGIRAN array;
ang \a, at \v mga pagkakasunud-sunod ng pagtakas (orihinal na ginawa sa gawk at ibinalik sa Bell
Bersyon ng Laboratories); ang babaan() at topper() mga built-in na function (mula sa Bell
Bersyon ng Laboratories); at ang mga detalye ng conversion ng ISO C sa printf (ginawa muna sa
ang bersyon ng Bell Laboratories).

HISTORIKAL TAMPOK


Mayroong isang tampok ng mga makasaysayang pagpapatupad ng AWK na gawk sumusuporta: Ito ay posible
tawagan ang haba() built-in na function hindi lamang na walang argumento, ngunit kahit na wala
panaklong! kaya,

a = haba # Banal isang bagay 60, Batman!

ay pareho sa alinman sa

a = haba()
a = haba($0)

Ang paggamit ng feature na ito ay hindi magandang kasanayan, at gawk naglalabas ng babala tungkol sa paggamit nito kung --lint is
tinukoy sa command line.

GNU KAHALAGAAN


Gawk ay may napakalaking bilang ng mga extension sa POSIX ang awkward. Ang mga ito ay inilarawan dito
seksyon. Ang lahat ng mga extension na inilarawan dito ay maaaring hindi paganahin sa pamamagitan ng pag-invoke gawk sa
--tradisyonal or --posix mga pagpipilian.

Ang mga sumusunod na katangian ng gawk ay hindi magagamit sa POSIX ang awkward.

· Walang paghahanap ng landas na ginagawa para sa mga file na pinangalanan sa pamamagitan ng -f opsyon. Samakatuwid, ang AWKPATH
environment variable ay hindi espesyal.

· Walang pasilidad para sa paggawa ng pagsasama ng file (gawk's @isama mekanismo).

· Walang pasilidad para sa dynamic na pagdaragdag ng mga bagong function na nakasulat sa C (gawk's @load
mekanismo).

· Ang \x pagkakasunud-sunod ng pagtakas. (Naka-disable sa --posix.)

· Ang kakayahang magpatuloy sa mga linya pagkatapos ? at :. (Naka-disable sa --posix.)

· Octal at hexadecimal constants sa mga programang AWK.

· Ang ARGIND, BINMODE, ERRNO, LINT, RT at TEXTDOMAIN ang mga variable ay hindi espesyal.

· Ang IGNORECASE variable at ang mga side-effects nito ay hindi magagamit.

· Ang FIELDWIDTHS variable at fixed-width na paghahati ng field.

· Ang FPAT variable at field splitting batay sa mga value ng field.

· Ang PROCINFO hindi available ang array.

· Ang gamit ng RS bilang isang regular na pagpapahayag.

· Ang mga espesyal na pangalan ng file na magagamit para sa I/O redirection ay hindi kinikilala.

· Ang |& operator para sa paglikha ng mga co-process.

· Ang BEGINFILE at ENDFILE ang mga espesyal na pattern ay hindi magagamit.

· Ang kakayahang hatiin ang mga indibidwal na character gamit ang null string bilang halaga ng FS,
at bilang ikatlong argumento sa hatiin ().

· Isang opsyonal na ikaapat na argumento sa hatiin () upang matanggap ang mga text ng separator.

· Ang opsyonal na pangalawang argumento sa isara () function.

· Ang opsyonal na ikatlong argumento sa tugma() function.

· Ang kakayahang gumamit ng mga positional specifier na may printf at sprintf().

· Ang kakayahang magpasa ng array sa haba().

· Ang at(), isang uri(), asorti(), bindtextdomain(), compl(), dcgettext(), dcngettext(),
gensub(), lshift(), mktime(), o(), patsplit(), rshift(), strftime(), strtonum(),
systime() at xor() function.

· Na-localize ang mga string.

Hindi tinukoy ng AWK book ang return value ng isara () function. Gawk's isara ()
ibinabalik ang halaga mula sa fclose(3), o pclose(3), kapag isinasara ang isang output file o pipe,
ayon sa pagkakabanggit. Ibinabalik nito ang katayuan sa paglabas ng proseso kapag isinasara ang isang input pipe. Ang
ang return value ay -1 kung ang pinangalanang file, pipe o co-process ay hindi binuksan gamit ang a
pag-redirect.

Kailan gawk ay tinatawag na may --tradisyonal opsyon, kung ang fs argumento sa -F Ang opsyon ay
"t", pagkatapos FS ay nakatakda sa character ng tab. Tandaan na ang pagta-type gawk -F\t ... sanhi lamang
ang shell upang sipiin ang “t,” at hindi ipinapasa ang “\t” sa -F opsyon. Dahil ito ay isang
sa halip pangit espesyal na kaso, ito ay hindi ang default na pag-uugali. Ang pag-uugali na ito ay hindi rin
mangyari kung --posix ay tinukoy. Para talagang makakuha ng tab na character bilang field
separator, pinakamahusay na gumamit ng mga solong panipi: gawk -F'\t' ....

Kapaligiran MGA VARIABLE


Ang AWKPATH environment variable ay maaaring gamitin upang magbigay ng isang listahan ng mga direktoryo na gawk
naghahanap kapag naghahanap ng mga file na pinangalanan sa pamamagitan ng -f, --file, -i at --isama mga pagpipilian Kung
nabigo ang paunang paghahanap, hahanapin muli ang landas pagkatapos maidugtong .awk sa filename.

Ang AWKLIBPATH environment variable ay maaaring gamitin upang magbigay ng isang listahan ng mga direktoryo na gawk
naghahanap kapag naghahanap ng mga file na pinangalanan sa pamamagitan ng -l at —-load mga pagpipilian.

Ang GAWK_READ_TIMEOUT environment variable ay maaaring gamitin upang tukuyin ang isang timeout sa
millisecond para sa pagbabasa ng input mula sa isang terminal, pipe o two-way na komunikasyon kasama ang
mga saksakan.

Para sa koneksyon sa isang remote host sa pamamagitan ng socket, GAWK_SOCK_RETRIES kinokontrol ang bilang ng
muling sumubok, at GAWK_MSEC_SLEEP at ang agwat sa pagitan ng mga muling pagsubok. Ang pagitan ay nasa
millisecond. Sa mga system na hindi sumusuporta matulog ka(3), ang halaga ay ni-round up sa isang
mahalagang bilang ng mga segundo.

If POSIXLY_CORRECT ay umiiral sa kapaligiran, kung gayon gawk kumilos nang eksakto na parang --posix nagkaroon
ay tinukoy sa command line. Kung --lint ay tinukoy, gawk naglalabas ng babala
mensahe sa ganitong epekto.

EXIT STATUS


Kung ang lumabas Ang pahayag ay ginagamit na may halaga, pagkatapos gawk paglabas na may ibinigay na numerong halaga
dito.

Kung hindi, kung walang mga problema sa panahon ng pagpapatupad, gawk paglabas na may halaga ng C
patuloy EXIT_SUCCESS. Ito ay karaniwang zero.

Kung may nangyaring error, gawk lumabas na may halaga ng C constant EXIT_FAILURE. Ito ay
kadalasan isa.

If gawk paglabas dahil sa isang nakamamatay na error, ang exit status ay 2. Sa mga non-POSIX system, ito
ang halaga ay maaaring imapa sa EXIT_FAILURE.

VERSION IMPORMASYON


Mga dokumento ng man page na ito gawk, bersyon 4.1.

MGA AUTHORS


Ang orihinal na bersyon ng UNIX ang awkward ay dinisenyo at ipinatupad ni Alfred Aho, Peter
Weinberger, at Brian Kernighan ng Bell Laboratories. Nagpatuloy si Brian Kernighan
panatilihin at pahusayin ito.

Paul Rubin at Jay Fenlason, ng Free Software Foundation, ay sumulat gawk, para magkatugma
kasama ang orihinal na bersyon ng ang awkward ipinamahagi sa Seventh Edition UNIX. John Woods
nag-ambag ng ilang pag-aayos ng bug. David Trueman, na may mga kontribusyon mula kay Arnold Robbins,
ginawa gawk tugma sa bagong bersyon ng UNIX ang awkward. Arnold Robbins ang kasalukuyang
tagapangasiwa.

Tingnan GAWK: Mabisa AWK Programming para sa buong listahan ng mga nag-ambag sa gawk at ang
dokumentasyon.

Tingnan ang README file sa gawk pamamahagi para sa up-to-date na impormasyon tungkol sa mga maintainer
at kung aling mga port ang kasalukuyang sinusuportahan.

bUG REPORTS


Kung nakakita ka ng isang bug sa gawk, mangyaring magpadala ng electronic mail sa [protektado ng email]. Mangyaring
isama ang iyong operating system at ang rebisyon nito, ang bersyon ng gawk (Mula sa gawk --bersyon),
kung aling C compiler ang ginamit mo upang i-compile ito, at isang test program at data na kasing liit
posible para sa muling paggawa ng problema.

Bago magpadala ng ulat ng bug, mangyaring gawin ang mga sumusunod na bagay. Una, i-verify na mayroon ka
ang pinakabagong bersyon ng gawk. Maraming mga bug (karaniwan ay banayad) ang naayos sa bawat paglabas,
at kung ang sa iyo ay luma na, ang problema ay maaaring nalutas na. Pangalawa, tingnan mo
kung nagtatakda ng variable ng kapaligiran LC_ALL sa LC_ALL=C nagiging sanhi ng mga bagay na kumilos bilang ikaw
asahan. Kung gayon, isa itong isyu sa lokal, at maaari o hindi talaga isang bug. Sa wakas, pakiusap
basahin nang mabuti ang man page na ito at ang reference manual upang matiyak na ang sa tingin mo ay a
bug talaga, sa halip na isang quirk lang sa wika.

Kahit anong gawin mo, gawin mo HINDI mag-post ng ulat ng bug sa comp.lang.awk. Habang ang gawk mga nag-develop
paminsan-minsan basahin ang newsgroup na ito, pag-post ng mga ulat ng bug mayroong isang hindi mapagkakatiwalaang paraan upang mag-ulat
mga bug. Sa halip, mangyaring gamitin ang mga electronic mail address na ibinigay sa itaas. Talaga.

Kung gumagamit ka ng GNU/Linux o BSD-based na system, maaari mong hilingin na magsumite ng ulat ng bug sa
ang nagtitinda ng iyong pamamahagi. Mabuti iyan, ngunit mangyaring magpadala ng isang kopya sa opisyal
pati na rin ang email address, dahil walang garantiya na ang ulat ng bug ay ipapasa sa
ang gawk tagapangasiwa.

Gumamit ng gawk online gamit ang mga serbisyo ng onworks.net


Mga Libreng Server at Workstation

Mag-download ng Windows at Linux apps

Linux command

Ad