Phunzirani ku Linux Command - gawk

Dzina

Gawk - kusanthula kachitidwe ndi chinenero chothandizira

Zosinthasintha

gawk [POSIX kapena GNU kalembedwe kachitidwe] -f pulogalamu-file [ - ] fayilo ...
gawk [POSIX kapena GNU style zosankha] [ - ] pulogalamu-mauthenga ...

pgawk [POSIX kapena GNU style zosankha] -f pulogalamu-file [ - ] fayilo ...
pgawk [POSIX kapena GNU style zosankha] [ - ] pulogalamu-mauthenga ...

Kufotokozera

Gawk ndikutsegulira kwa GNU Project ya chinenero cha AWK. Zimagwirizana ndi tanthawuzo la chilankhulidwechi mu POSIX 1003.2 Chilankhulo Chakulamulira ndi Zogwiritsa Ntchito. Izi ndizofotokozedwa mu Chilankhulo cha AWK Programming , cholembedwa ndi Aho, Kernighan, ndi Weinberger, ndi zina zomwe zili mu System V Release 4 version ya UNIX awk . Gawk imaperekanso zowonjezera zowonjezereka za Bell Laboratories, ndi zowonjezereka zowonjezera za GNU.

Pgawk ndizofotokozera maonekedwe a gawk . N'chimodzimodzinso njira iliyonse yochezera , kupatula kuti mapulogalamu amayenda pang'onopang'ono, ndipo zimapanga mbiri yowonongeka mu fayilo awkprof.out ikachitika . Onani_nkhani yopangira , pansipa.

Lamulo la lamulo liri ndi njira zomwe mungachite kuti muthe kujambula , malemba a AWK (ngati simunaperekedwe kudzera mwa-- f- kapena -file zosankhidwa), ndipo chikhalidwe chiyenera kupezeka mu ARGC ndi ARGV zomwe zanenedwa kale zizindikiro za AWK.

Fomu Yosankha

Zosankha za Gawk zingakhale mwambo wamtundu wa POSIX umodzi, kapena njira za GNU zoyendetsera nthawi yaitali. Zosankha za POSIX zimayambira ndi imodzi `` - '', pamene njira zazikulu zimayamba ndi `` - ''. Zosankha zautali zimaperekedwa pazinthu zonse za GNU ndi zofunikira za POSIX.

Potsatira ndondomeko ya POSIX, zosankha zapadera zimaperekedwa pogwiritsa ntchito zotsutsana ndi -W . Zambiri -Zingathe kuperekedwa Zonse -Wofuna kukhala ndi chotsatira chotsatira, monga momwe zilili pansipa. Zotsutsana ndi zosankha zautali zimagwirizanitsidwa ndi chisankho ndi = chizindikiro, popanda malo omwe angalowemo, kapena angaperekedwe pamtsutso wotsatira wa mzere. Zosankha zautali zingakhale zofupikitsidwa, bola ngati chidulecho chiri chosiyana.

Zosankha

Gawk amavomereza njira zotsatirazi, zolembedwa mwachidule.

-F fs

- Wopatulikitsa fs Gwiritsani ntchito fs kwa gawo lopatulira gawo (mtengo wa FS ).

-v var = val

- perekani var = val Perekani mtengo wotengera variable var , musanayambe pulogalamuyo. Zosintha zoterezi zimapezeka kwa BEGIN bwalo la pulogalamu ya AWK.

-f pulogalamu-file

- pulogalamu-fayilo Fufuzani chithunzi cha pulogalamu ya AWK kuchokera pa fayilo pulogalamu-file , mmalo mwa ndondomeko yoyamba ya mzere. Zosankha zambiri -f (kapena -file ) zingagwiritsidwe ntchito.

-mf NNN

-mr NNN Ikani malire osiyanasiyana a kukumbukira ku mtengo wa NNN . F flag imapereka chiwerengero chachikulu cha minda, ndipo r flag imayika kukula kwake kwa ma rekodi. Mabendera awiriwa ndi -m njira ndizochokera ku kafukufuku wa Bell Laboratories wa UNIX awk . Iwo amanyalanyazidwa ndi gawk , popeza gawk alibe malire oyamba.

-Werengani

-Achikhalidwe

- mvetserani

- Kuthamanga kwachidziwitso moyenera. Mogwirizana ndi mawonekedwe, gawk amachita chimodzimodzi kwa UNIX awk ; Palibe zowonjezera za GNU zomwe zimadziwika. Kugwiritsira ntchito - kumapangidwira pa mitundu ina ya njirayi. Onani GNU EXTENSIONS , pansipa, kuti mudziwe zambiri.

-Kopyleft

-W Copyright

--copyleft

--copyright Pindani mafupiafupi a uthenga wa GNU wachinsinsi pazomwe mumalankhula komanso mutuluke bwinobwino.

-W zosiyana-siyana [ = fayilo ]

--dump-variables [ = fayela ] Sindikirani mndandanda wa mitundu yosiyanasiyana, mitundu yawo ndi mfundo zotsiriza zomwe mungathe kuzilemba . Ngati palibe fayilo yoperekedwa, gawk amagwiritsa ntchito fayilo yotchedwa awkvars.out muwongolera wamakono.

Kukhala ndi mndandanda wa zochitika zonse padziko lapansi ndi njira yabwino yowonera zolakwika za typographical mu mapulogalamu anu. Mungagwiritsenso ntchito njirayi ngati muli ndi pulogalamu yaikulu yomwe ili ndi ntchito zambiri, ndipo mukufuna kutsimikiza kuti ntchito zanu sizikugwiritsanso ntchito zosiyana siyana zomwe mumafuna kuti mukhale nazo. (Ichi ndi kulakwa kwakukulu kosavuta kupanga ndi maina osinthika monga i , j , ndi zina zotero.)

-Wathandiza

-kugwiritsa ntchito

--Thandizeni

- Sakanizani chidule chafupipafupi chazomwe mungapeze pazomwe mukuchita . (Pa ma GNU Coding Standards , izi zingapangitse kutuluka mwamsanga, kupambana.)

-Wakufa [ = kufa ]

- onetsetsani [ = opha ] Perekani machenjezo okhudza zomangamanga zomwe ziri zosautsa kapena zosasamalidwa kwazinthu zowonjezera. Ndimaganizo okhudzidwa a machenjezo opha , amakhala ndi zolakwika. Izi zingakhale zovuta, koma ntchito yake idzalimbikitsa chitukuko cha mapulogalamu oyera AWK.

-Wakale kwambiri

- Zakale-zapadera Pereka machenjezo pa zomangamanga zomwe sizingatheke ku Unix awk .

-W gen-po

--gen-po Fufuzani ndikugwiritsira ntchito pulogalamu ya AWK, ndipo pangani GNU .po mafayilo apangidwe pamtundu wovomerezeka ndi zolembera zamakono onse omwe angapezepo pulogalamuyi. Pulogalamuyo siyikuchitidwa. Onani kufalitsa kwa GNU kupezateti kuti mudziwe zambiri pa mafayi .po .

-Wasati-decimal data

Deta -non-decimal-data Dziwani ma octal ndi ma hexadecimal values ​​mu data input. Gwiritsani ntchito njirayi mosamala kwambiri!

-Kukhazikika

--posixx Izi zikutembenukira pazowonjezera machitidwe, ndi zoletsa zina zotsatirazi:

*

\ x njira zosatha sizidziwika.

*

Danga ndi tabu zimakhala ngati olekanitsa kumunda pamene FS yakhazikika pa danga limodzi, newline siili.

*

Simungapitirize mzere wotsatira ? ndi :.

*

Mawu omwe amamasulira kuti "Keyword function" sakudziwika.

*

Ogwira ntchito ** ndi ** = sangagwiritsidwe ntchito m'malo ^ ndi ^ = .

*

Fflush () ntchito siilipo.

-W profile [ = prof_file ]

--profile [ = prof_file ] Tumizani deta yophatikiza ku prof_file . Chosalephera ndi awkprof.out . Pamene muthamanga ndi gawk , mbiriyi ndi chabe 'yokongola yosindikizidwa' 'pulogalamuyi. Pamene muthamanga ndi pgawk , mbiriyi ili ndi ziwerengero za kuphedwa kwa ndondomeko iliyonse pulogalamuyi kumbali ya kumanzere ndi chiwerengero cha maitanidwe a ntchito iliyonse yofotokozera.

-Kusintha nthawi

- Kutsegulira Lolani kugwiritsa ntchito mawu amodzi mwa kufotokozera kawirikawiri (onani Mawu Otsindika , pansipa). Mawu omasulira sanali opezeka m'chinenero cha AWK. Mkhalidwe wa POSIX unawawonjezera iwo, kuti apange zovuta ndi zosiyana zogwirizana ndi wina ndi mzake. Komabe, kugwiritsira ntchito kwawo sikungathe kuswa mapulogalamu akale a AWK, kotero gawk amangowapereka ngati akufunsidwa ndi njirayi, kapena pamene - postx imatchulidwa.

-W chitsimikizo cha pulogalamu-malemba

-source program-text Gwiritsani ntchito pulogalamu-malemba monga ndondomeko ya pulogalamu ya AWK. Njirayi imalola kuti kuphatikiza kwa ntchito zamatayilazi kukhale kosavuta (kugwiritsa ntchito njira zotsalira -f ndi -file ) ndi ndondomeko yoyenera yomwe imalowa mu mzere wa lamulo. Zimapangidwa makamaka kwa mapulogalamu akuluakulu akuluakulu a AWK omwe amagwiritsidwa ntchito polemba zipolopolo.

-W version

--version Zindikirani zowonjezereka za kapepala kameneka ka gawk pamtundu woyenerera. Izi zimathandiza makamaka kudziwa ngati pulogalamu ya gawk yomwe ilipo panopa ikugwirizana ndi zomwe Free Software Foundation ikugawira. Izi zimathandizanso powauza zigawenga. (Pa ma GNU Coding Standards , izi zingapangitse kutuluka mwamsanga, kupambana.)

- Sonyezani kutha kwa zosankha. Izi ndi zothandiza kulola zifukwa zowonjezera pulogalamu ya AWK yokha kuyamba ndi `` - ''. Izi ndizogwirizana kwambiri ndi zokambirana zomwe zimagwiritsidwa ntchito ndi mapulogalamu ena ambiri a POSIX.

Mogwirizana ndi mawonekedwe, zina zomwe mungasankhe ndizosavomerezeka, koma zimanyalanyazidwa. Mu ntchito yoyenera, malinga ngati ndondomeko ya pulogalamu yathandizidwa, zosankha zosadziwika zimaperekedwa ku dongosolo la AWK mu ARGV yowerengera . Izi ndi zothandiza makamaka pakuyendetsa mapulogalamu a AWK kupyolera mwa `` #! '' Womasulira womasulira.

KUYEREKERA KUTSOGOLERA KWA AWK

Pulogalamu ya AWK ili ndi ndondomeko ya machitidwe-zochitapo kanthu komanso zosankha zomveka.

ndondomeko { mawu otanthauzira}

Dzina la ntchito ( mndandandanda wamndandanda ) { mawu }

Gawk poyamba amawerenga gwero la pulogalamu kuchokera pa pulogalamu-mafayilo ngati atchulidwa, kuchokera kutsutsano ku -source , kapena kuchokera pa choyamba chosagwirizana ndi mfundo pa mzere wa lamulo. Zosankha-- ndipo -zinthu zingagwiritsidwe ntchito mobwerezabwereza pa mzere wa lamulo. Gawk amawerengera pulogalamuyi ngati malemba onse -pulogalamuyi ndi malemba otsogolera mndandanda amatsindikitsidwa palimodzi. Izi ndi zothandiza popanga makanema a ntchito za AWK, popanda kuziyika mu dongosolo lililonse la AWK lomwe limagwiritsa ntchito. Zimaperekanso kuthekera kusakaniza ntchito zamatayala ndi mapulogalamu a mzere.

Kusintha kwa chilengedwe AWKPATH kumalongosola njira yofufuzira yomwe mungagwiritse ntchito popeza mafayilo oyambirira otchulidwa ndi -f . Ngati kusinthaku kulibe, njira yoperewera ndi ": / usr / local / share / awk" . (Zolemba zeniyeni zikhoza kusiyana, malingana ndi momwe galama linamangidwira ndi kuyika.) Ngati dzina la fayilo lapatsidwa kwa_fotani liri ndi khalidwe `` / '', palibe njira yofufuza yomwe ikuyendera.

Gawk ikuchita mapulogalamu a AWK mwa dongosolo lotsatira. Choyamba, ntchito zonse zosinthidwa zomwe zimatchulidwa kudzera mwa -v mwachangu ndizochita. Kenaka, gawk amalemba pulogalamuyo mkati mwa mawonekedwe a mkati. Kenaka, gawk amachititsa kachidindo mu BEGIN kapito (ngati), ndiyeno kuwerenga fayilo iliyonse yotchedwa ARGV . Ngati palibe mafayilo omwe atchulidwa pa mzere wa lamulo, gawk amawerenga momwe mungapezere .

Ngati dzina la fayilo pamzere wotsogola liri ndi mawonekedwe var = val amawoneka ngati ntchito yosinthika. V var variable adzapatsidwa mtengo val . (Izi zimachitika pambuyo pa YAM'MBUYO yoyambira (bloc) yomwe yakhala ikuyendetsedwa.) Ntchito yoyendetsa ntchito yosinthidwa ndi yofunika kwambiri popereka mphamvu ku mitundu yosiyanasiyana ya AWK kuti iwonetse momwe zolembera zathyoledwa muzinthu ndi zolemba. Iyenso ndiwothandiza polamulira dziko ngati maulendo angapo akufunika pa fayilo imodzi ya deta.

Ngati mtengo wa chinthu china cha ARGV ulibe kanthu ( "" ), gawk akudutsa.

Pa kafukufuku uliwonse, zofufuza za gawk kuti muwone ngati zikugwirizana ndi dongosolo lililonse mu dongosolo la AWK. Kwa pulogalamu iliyonse imene zolembazo zimagwirizanirana, zochita zogwirizanitsa zikuchitidwa . Zitsanzo zimayesedwa potsatira momwe zikuchitikira pulogalamuyi.

Pomalizira, zotsatira zonse zitatha, gawk amatsatira malamulo mu END block (s) (ngati zilipo).

Zosiyanasiyana, Zolemba, ndi Minda

Mitundu ya AWK ndi yamphamvu; Zimakhalapo pamene zimagwiritsidwa ntchito. Malingaliro awo ndi mawerengero oyandama-mfundo kapena zingwe, kapena zonse ziwiri, malingana ndi momwe amagwiritsidwira ntchito. AWK ili ndi zigawo chimodzi zofanana; Kuphatikiza ndi miyeso yambiri ingayesedwe. Mitundu yambiri yotsimikiziridwa kale imayikidwa ngati pulogalamu ikuyenda; izi zidzafotokozedwa kuti ndizofunikira komanso mwachidule.

Zolemba

Kawirikawiri, zolemba zimasiyanitsidwa ndi zilembo zatsopano. Mukhoza kuyendetsa momwe ziwerengero zimasiyanirana ndikugawira miyeso kwa RS yosinthika. Ngati RS ali khalidwe limodzi, khalidwe limenelo limasiyanitsa ma rekodi. Popanda kutero, RS ndikulankhula nthawi zonse. Malemba muzolowera zomwe zimagwirizana ndi mawonetsedwewa nthawi zonse amalekanitsa zolembazo. Komabe, mukumvetsetsana, khalidwe loyambirira la mtengo wachingwe limagwiritsidwa ntchito polekanitsa zolemba. Ngati RS imayikidwa pa chingwe chosalumikizidwa, ndiye kuti zolemba zimasiyanitsidwa ndi mizere yopanda kanthu. Pamene RS imayikidwa pa chingwe chosalumikizidwa, khalidwe lalineline nthawizonse limakhala ngati wolekanitsa kumunda, kuwonjezera pa mtengo uliwonse umene FS ungakhale nawo.

Minda

Pamene chiwerengero chilichonse chowunikira chikuwerengedwa, gawk amapatulira mbiriyo kumalo, pogwiritsira ntchito mtengo wa kusintha kwa FS monga wolekanitsa kumunda. Ngati FS ndi khalidwe limodzi, minda imasiyanitsidwa ndi khalidwe limenelo. Ngati FS ndi chingwe chosalumikizidwa, ndiye kuti munthu aliyense amakhala gawo limodzi. Apo ayi, FS ikuyembekezeredwa kuti iwonetsedwe nthawi zonse. Mwapadera kuti FS ndi malo amodzi, minda imasiyanitsidwa ndi mipata ndi / kapena matabu ndi / kapena mauthenga atsopano. (Koma onani zokambirana za --posix , m'munsimu). ZOYENERA: Mtengo wa IGNORECASE (onani m'munsimu) umakhudzanso momwe madera amagawanirana pamene FS ndiyowonetsera nthawi zonse, ndi momwe ziwerengero zimasiyanirana pamene RS ndiwonekera nthawi zonse.

Ngati chiwerengero cha FIELDWIDTHS chikhazikitsidwa pa mndandanda wa ziwerengero zosiyana, dera lililonse likuyembekezeredwa kuti likhale loyandikana , ndipo gawk igawanika mbiriyo pogwiritsa ntchito zigawozo. Mtengo wa FS umanyalanyazidwa. Kuika mtengo watsopano kwa FS kudutsa kugwiritsa ntchito FIELDWIDTHS , ndi kubwezeretsa khalidwe losasintha.

Munda uliwonse mu zolembera zolembera ukhoza kutchulidwa ndi malo ake, $ 1 , $ 2 , ndi zina zotero. $ 0 ndi mbiri yonse. Minda sayenera kutchulidwa ndi makina:

n = 5
sindikizani $ n

imasulira gawo lachisanu muzolemba zolembera.

NF variable imayikidwa ku chiwerengero cha minda mu zolembera zolembera.

Mafotokozedwe a malo osakhalapo (ie madera pambuyo pa $ NF ) atulutsa chingwe chopanda kanthu. Komabe, kupereka munda wopanda malo (mwachitsanzo, $ (NF + 2) = 5 ) kumawonjezera kufunika kwa NF , kumapanga masitepe amodzi omwe ali ndi chingwe chopanda ntchito, ndipo amachititsa mtengo wa $ 0 kubwezeredwa, minda yolekanitsidwa ndi mtengo wa OFS . Malingaliro a malo osayenerera omwe amalephera amachititsa zolakwika zakupha. Kusokoneza NF kumapangitsa kuti minda yamtengo wapatali iwonongeke, ndipo mtengo wa $ 0 uyenera kubwezeredwa, pamodzi ndi minda yolekanitsidwa ndi mtengo wa OFS .

Kuika mtengo ku munda womwe ulipo kumapangitsa kuti mbiri yonse ikamangidwe pamene $ 0 ikufotokozedwa. Mofananamo, kupereka ndalama kwa $ 0 kumapangitsa kuti mbiriyo ikhale yopindulitsa, ndikupanga malamulo atsopano m'minda.

Mitundu Yopangidwira

Zolemba za Gawk zowonjezera ndi:

ARGC

Chiwerengero cha mzere wa mzere wa malamulo (sichiphatikizapo zosankha za gawk , kapena gwero la pulogalamu).

ARGIND

Mndandanda wa ARGV wa fayilo yomwe ikupezeka ikukonzedwa.

ARGV

Mndandanda wa mfundo za mzere wa lamulo. Mndandanda ulipo kuchokera ku 0 kupita ku ARGC - 1. Kusintha mwatsatanetsatane zomwe zili mu ARGV zingathe kulamulira mafayilo ogwiritsidwa ntchito pa data.

BINMODE

Pa machitidwe osakhala a POSIX, amatsindika kugwiritsa ntchito `` binary '' mawonekedwe kwa onse O / O mafayilo. Mawerengedwe a chiwerengero cha 1, 2, kapena 3, tchulani mafayilo olowera, mafayilo owonetsera, kapena mafayilo, motsatira, ayenera kugwiritsa ntchito I / O yachitsulo. Makhalidwe apamwamba a "r" , kapena "w" amatanthauzira mafayilo olowera, kapena mafayilo operekedwa, motsatira, ayenera kugwiritsa ntchito I / O yachitsulo. Makhalidwe apamwamba a "rw" kapena "wr" amasonyeza kuti mafayilo onse ayenera kugwiritsa ntchito I / O yokha. Mtengo uliwonse wachingwe umatengedwa ngati "rw" , koma umapereka uthenga wochenjeza.

CONVFMT

Kutembenuka maonekedwe kwa manambala, "% .6g" , mwachisawawa.

ENVIRON

Zambiri zomwe zili ndi zikhalidwe zamakono. Mndandanda uli ndi zosiyana ndi zachilengedwe, chigawo chilichonse chiri phindu la kusintha kwake (mwachitsanzo, ENVIRON ["HOME"] akhoza kukhala / kunyumba / arnold ). Kusintha izi sikumakhudza chilengedwe chomwe chimayang'aniridwa ndi mapulogalamu omwe amatha kupyolera mmwamba kapena njira () ntchito.

ERRNO

Ngati zolakwika zapangidwe zikuchitika poyambanso kukonzanso kwaline , pakuwerengera payline , kapena pamapeto () , ndiye ERRNO idzakhala ndi chingwe chofotokozera cholakwikacho. Mtengo umasinthidwa m'malo osakhala a Chingerezi.

FIELDWIDTHS

Mndandanda wa mndandanda woyera wa malowidths. Mukamayika , gwiritsani ntchito phindu lokhazikika m'malo mogwiritsa ntchito phindu la kusintha kwa FS monga wogawaniza munda.

DZINA LAFAYILO

Dzina la fayilo yowonjezera yamakono. Ngati palibe mafayilo atchulidwa pa mzere wa lamulo, mtengo wa FILENAME ndi `` - ''. Komabe, FILENAME sichidziwikiratu mkati mwa BEGIN bwalo (pokhapokha atayikidwa ndi line ).

FNR

Nambala yowonjezera yowonjezera mu fayilo yowonjezera yamakono.

FS

Malo olekanitsa gawo, gawo ndi chosasintha. Onani Masamba , pamwambapa.

IGNORECASE

Amayambitsa zokhudzana ndi zochitika zowonongeka zonse ndi ntchito zachingwe. Ngati IGNORECASE ilibe mtengo wapatali, ndiye kuti kulinganirana kwachingwe ndi kachitidwe kofanana ndi malamulo, gawo logawidwa ndi FS , kulemba kulekanitsa ndi RS , kufotokozera kawirikawiri ndi ~ ndi ! ~ , Ndi peopleub () , gsub () , index () , match () , split () , ndi sub () zowonongeka zimagwira ntchito zosemphana ndi zochitika pochita ntchito nthawi zonse. ZOYENERA: Array subscripting sakhudzidwa, ngakhalenso asort () ikugwira ntchito.

Choncho, ngati IGNORECASE silingathe kufanana ndi zero, / aB / ikugwirizana ndi zida zonse "ab" , "aB" , "Ab" , ndi "AB" . Monga ndi mitundu yonse ya AWK, mtengo woyamba wa IGNORECASE ndi zero, kotero kuwonetsa nthawi zonse ndi ntchito zachingwe nthawi zambiri zimakhala zovuta. Pansi pa Unix, chiwonetsero chonse cha ISO 8859-1 cha Latin-1 chikugwiritsidwa ntchito ponyalanyaza milandu.

LINT

Amapereka mphamvu zowonongeka pamtundu wa AWK. Pamene zoona, zolemba zimapereka machenjezo ambiri. Pamene wabodza, sizitero. Pamene anapatsidwa chingwe "kupha" , machenjezo onse amakhala olakwika, chimodzimodzi ngati - zomveka = kufa . Chowonadi china chirichonse chenicheni chimangolemba machenjezo.

NF

Chiwerengero cha minda mu rekodi yowonjezera yowonjezera.

NR

Chiwerengero chonse cha zolembera zolembedwera zikuwonetsedwa pano.

OFMT

Zotsatira za mtundu wa manambala, "% .6g" , mwachinsinsi.

OFS

Zogulitsa gawo lolekanitsa, malo ndi osasintha.

ORS

Chotsatira cholekanitsa cholekanitsa, mwachindunji chatsopano.

PROCINFO

Zomwe zimapangidwira izi zimapereka mwayi wowonjezera zokhudzana ndi kayendedwe ka AWK. Pazinthu zina, pangakhale zigawo mu gulu, "gulu1" kupyolera mu "gulu n " kwa ena n , omwe ndi chiwerengero cha magulu othandizira omwe ndondomekoyi ili nayo. Gwiritsani ntchito wogwiritsa ntchito kuti muyese zinthu izi. Zinthu zotsatirazi zitsimikiziridwa kuti zipezeka:

PROCINFO ["mwachitsanzo"]

mtengo wa getegid (2) maitanidwe.

PROCINFO ["euid"]

phindu la kuyitana kwa geteuid (2).

PROCINFO ["FS"]

"FS" ngati famu yogawanika ndi FS ikugwira ntchito, kapena "FIELDWIDTHS" ngati famu yogawanika ndi FIELDWIDTHS ikugwira ntchito.

PROCINFO ["gid"]

kufunika kwa callgid (2) maitanidwe.

PROCINFO ["pgrpid"]

Dongosolo la gulu la ndondomeko ya ndondomeko yamakono.

PROCINFO ["pid"]

ndondomeko ya ndondomeko yamakono.

PROCINFO ["ppid"]

ndondomeko ya njira ya makolo yomwe ikuchitika panopo.

PROCINFO ["uid"]

kufunika kwa calluid (2) maitanidwe apakompyuta.

RS

Cholekanitsa cholekanitsa, mwachindunji chatsopano.

RT

Woimitsa malipoti. Gawk amaika RT ku zolembera zomwe zikufanana ndi khalidwe kapena kachitidwe kawonedwe kamene kamatchulidwa ndi RS .

RSTART

Mndandanda wa chikhalidwe choyamba chikufanana ndi mzere () ; 0 ngati sakugwirizana. (Izi zikutanthauza kuti zizindikiro za chikhalidwe zimayamba pa chimodzi.)

KUCHITA

Kutalika kwa chingwe chikufanana ndi mzere () ; -1 ngati palibe ofanana.

SUBSEP

Makhalidwewa amagwiritsidwa ntchito polekanitsa maulendo angapo m'magulu osiyanasiyana, mwachindunji "\ 034" .

TEXTDOMAIN

Mndandandanda wa pulogalamu ya AWK; ankakonda kupeza matembenuzidwe apamalo a zingwe za pulogalamuyi.

Zokambirana

Mipukutu imakhala ndi mawu pakati pa mabakiteriya apakati ( [ ndi ] ). Ngati mawuwo ndi ndondomeko yofotokozera ( expr , expr ...) ndiye ndondomeko yowonjezeredwa ndi chingwe chophatikizapo kugwirizana kwa (chingwe) mtengo wa mawu alionse, osiyana ndi mtengo wa variable SUBSEP . Malo awa amagwiritsidwa ntchito poyesa kuchulukitsa zigawo zosiyana. Mwachitsanzo:

I = "A"; j = "B"; k = "C"
x [i, j, k] = "moni, dziko \ n"

imapereka chingwe "hello, dziko \ n" ku element elements of the array x yomwe ili ndi chingwe "A \ 034B \ 034C" . Zonsezi mu AWK ndizoyanjanitsa, mwachitsanzo, zolembedwa ndi chingwe.

Wogwiritsa ntchito mwachindunji angagwiritsidwe ntchito ngati ali kapena mawu kuti awone ngati gulu liri ndi ndondomeko yokhala ndi mtengo wapadera.

ngati (muyang'anizane) sindikizani [val]

Ngati mndandanda uli ndi malemba ambiri, gwiritsani ntchito (i, j) mndandanda .

Zomangamanga zingagwiritsidwenso ntchito poyang'ana kutsogolo pazinthu zonse zadongosolo.

Chophweka chingachotsedwe pamagulu pogwiritsa ntchito mawu ochotsera . Mawu osuta angagwiritsidwenso ntchito kuchotsa zonse zomwe zili m'gulu, pokhapokha atanthauzira dzina losalemba.

Kuyimira Zosiyanasiyana ndi Kutembenuka

Zosiyanasiyana ndi minda zingakhale nambala (yoyandama), kapena zingwe, kapena zonse ziwiri. Mmene kutanthauzira kwamasinthidwe kutanthauziridwa kumadalira zomwe zikuchitika. Ngati imagwiritsidwa ntchito muzinenero, idzachitidwa ngati nambala, ngati ikhale ngati chingwe idzachitidwa ngati chingwe.

Kukaniketsa kusinthidwa kuti kuchitiridwa ngati nambala, kuwonjezera 0 kwa izo; kukakamiza kuti ikhale ngati chingwe, nichite izi ndi chingwe chosalumikizidwa.

Pamene chingwe chiyenera kutembenuzidwa kukhala chiwerengero, kutembenuka kumakwaniritsidwa pogwiritsa ntchito strtod (3). Chiwerengero chasinthidwa kukhala chingwe pogwiritsa ntchito mtengo wa CONVFMT monga fimbo ya firitsi ya sprintf (3), ndi chiwerengero cha chiwerengero cha chosinthika monga mkangano. Komabe, ngakhale chiwerengero chonse cha AWK chiri chozungulira, mfundo zoyenera nthawi zonse zimasinthidwa ngati integers. Choncho, amapatsidwa

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

ndime yosintha b ili ndi mtengo wa "12" osati "12.00" .

Gawk amachita zofananitsa motere: Ngati zosiyana ziwiri ndizowerengeka, zikufanizidwa ndizinthu. Ngati mtengo umodzi uli wowerengeka ndipo winayo ali ndi chiyeso chachingwe chomwe ndi `string string, '' ndiye kufananitsa kumachitiranso manambala. Apo ayi, chiwerengero cha chiwerengero chimasinthidwa ku chingwe ndipo kufanana kwachingwe kumachitika. Zingwe ziwiri zikufaniziridwa, ndithudi, ngati zingwe. Onani kuti mlingo wa POSIX umagwiritsa ntchito lingaliro la `` zingwe zam'manja '' paliponse, ngakhalenso kuzinyolo zamagetsi. Komabe, izi ndizolakwika, ndipo gawk samachita izi. (Mwamwayi, izi zatsimikiziridwa mu ndondomeko yotsatira ya muyezo.)

Tawonani kuti zowonjezera zingwe, monga "57" , siziri zingwe zowerengeka, ndizo zingwe zolimba. Lingaliro la `` chingwe chojambulidwa '' limangogwira ntchito ku minda, kulowera kwathandizira , FILENAME , ARGV zigawo, zigawo za ENVIRON ndi zigawo za gulu lopangidwa ndi kugawa () zomwe ndizo zingwe zamtundu. Lingaliro lofunikira ndilolowetsamo wogwiritsa ntchito , ndipo ndondomeko yokha yogwiritsira ntchito, yomwe imawoneka chiwerengero, iyenera kuchitidwa mwanjira imeneyo.

Mitundu yosasinthika ili ndi chiwerengero choposa 0 ndi chingwe chofunika "" (null, kapena chopanda kanthu, chingwe).

Zogwirizana ndi ovomerezeka ndi za hexadecimal

Kuyambira ndi machitidwe 3.1 a gawk, mungagwiritse ntchito machitidwe a C octal ndi makina a hexadecimal mu code yanu ya source AWK. Mwachitsanzo, mtengo wa octal 011 uli wofanana ndi decimal 9 , ndipo mtengo wa hexadecimal 0x11 uli wofanana ndi decimal 17.

Zosintha Zingwe

Mitsinje yamakono mu AWK ndi zofanana ndi zolembedwera zomwe zilipo pakati pa ndondomeko ziwiri ( " ). Mu zingwe, zochitika zina zothawira zimadziwika, monga mu C. Izi ndi:

\\

Kubwerera mmbuyo kwenikweni.

\ a

Chikhalidwe cha `` tcheru ''; kawirikawiri ASCII BEL khalidwe.

\ b

kumbuyo.

\ f

chakudya.

\ n

zatsopano.

\ r

kubwerera kwa carriage.

\ t

tabu losakanikirana.

\ v

tabu yowongoka.

\ x hex tarakimu

Chikhalidwe choyimiridwa ndi mndandanda wa ma hexadecimal digits pambuyo pa \ x . Monga mu ANSIC, ma chiwerengero chonse cha hexadecimal amawerengedwa ngati mbali ya njira yopulumukira. (Mbali iyi iyenera kutiwuza chinachake za chilankhulidwe cholankhulidwa ndi komiti.) Mg, "\ x1B" ndi khalidwe la ASCIIESC (kuthawa).

\ ddd

Makhalidwe omwe amaimiridwa ndi malemba octal 1, 2, kapena 3. Mwachitsanzo, "\ 033" ndi khalidwe la ASCII ESC (kuthawa).

\ c

Mkhalidwe weniweni c .

Zotsatira za kuthawa zingagwiritsidwenso ntchito mkati mwazinthu zowonongeka nthawi zonse (mwachitsanzo, / [\ t \ f \ n \ r \ v] / zimatsatizana ndi azithunzi zoyera).

Mogwirizana ndi mawonekedwe, malembo oimira octal ndi hexadecimal flight sequences akutsatiridwa kwenikweni ngati agwiritsidwa ntchito nthawi zonse. Choncho, / \ 52b / ali ofanana ndi / \ \ b / .

Zitsanzo ndi Zochita

AWK ndi chilankhulo cholozera mzere. Chitsanzo chimabwera poyamba, ndiyeno chochita. Zolemba zachitetezo zili mkati mwa { and } . Mwina chitsanzocho chingakhale chosowa, kapena ntchitoyo ikhoza kusoweka, koma, ndithudi, si onse. Ngati chithunzi chikusowa, ntchitoyi ikuchitidwa pa zolembedwera zonse. Chinthu chosowa chiri chofanana ndi

{kusindikiza}

zomwe zimajambula zonsezo.

Ndemanga zimayambira ndi '`#' 'khalidwe, ndipo pitirizani mpaka kutha kwa mzere. Mzere wopanda kanthu ungagwiritsidwe ntchito kusiyanitsa mawu. Kawirikawiri, ndemanga imatha ndi newline, komatu, izi siziri choncho kwa mizere yokhala mu ``, '', { , ? , : , && , kapena || . Mipindi yomwe imatha kuchita kapena ayi ndizolemba zawo zowonjezera pamzerewu. Nthawi zina, mzere ukhoza kupitilizidwa pomaliza ndi ', pamene mndandanda wa newline udzanyalanyazidwa.

Mawu ambiri akhoza kuikidwa pamzere umodzi mwa kuwalekanitsa ndi ``; ''. Izi zikugwiritsidwa ntchito paziganizo zonse zomwe zili mkati mwa gawo lachitetezo (kachitidwe kaŵirikaŵiri), ndi ndemanga zotsatizana.

Zitsanzo

Machitidwe a AWK angakhale amodzi mwa zotsatirazi:

YAMBANI PAMODZI / mawonedwe ozolowereka / machitidwe oyanjana ndi & pattern pattern || chitsanzo cha chitsanzo ? chitsanzo : chitsanzo ( chitsanzo ) ! chitsanzo pattern1 , pattern2

BEGIN ndi END ndi mitundu iwiri yapadera yomwe siimayesedwe motsutsana nawo. Mbali zochitapo kanthu za BEGIN ndondomeko zikuphatikizidwa ngati kuti zonsezi zidalembedwa m'BUKU LOYAMBA. Amaphedwa asanayambe kuwerengedwa. Mofananamo, zolemba zonse za END zimagwirizanitsidwa, ndipo zimachitidwa pamene zowonjezera zonse zatha (kapena pamene mawu otuluka achoka ). BEGIN ndi END zotengera sizingathe kuphatikizidwa ndi zitsanzo zina muzofotokozera za chitsanzo. BEGIN ndi PEP ndondomeko sizingasowe gawo la magawo.

Kwa / mawonedwe ozolowereka / machitidwe, mawu omwe akugwirizanawo akugwiritsidwa ntchito pa rekodi iliyonse yophatikiza yomwe ikugwirizana ndi mawonedwe ozolowereka. Mawu amodzimodzi ndi ofanana ndi omwe amalembedwa (1), ndipo ali mwachidule m'munsimu.

Mawu ogwirizana angagwiritse ntchito aliyense wa opaleshoni omwe ali pansipa mu gawo pazochita. Izi zimawonekeratu ngati minda ina imayendera machitidwe ena.

The && , || , ndi ! ogwira ntchito ndi omveka, ndi omveka bwino OR, ndi osamvetsetsetsa, osamvetsetseka, monga C. Iwo amachita kafukufuku wam'mbuyo, komanso monga C, ndipo amagwiritsidwa ntchito pophatikizapo mafotokozedwe ambiri oyambirira. Monga m'zinenero zambiri, okalamba angagwiritsidwe ntchito kusintha ndondomeko ya kuyesa.

The?: Operekera ali ngati wogwiritsira ntchito mu C. Ngati chitsanzo choyamba ndi chowonadi ndiye chitsanzo chogwiritsira ntchito kuyesa ndichiwiri chachiwiri, mwinamwake ndilo lachitatu. Njira imodzi yokha yachiwiri ndi yachitatu ikuyesedwa.

Chitsanzo1 , mtundu wa pattern2 wa mawu akutchedwa mtundu wa machitidwe . Ikugwirizana ndi zolemba zonse zolembera zomwe zikuyamba ndi mbiri yomwe ikufanana ndi pattern1 , ndikupitirira mpaka mbiri yomwe ikugwirizana ndi pattern2 , kuphatikizapo. Sichikuphatikizana ndi mtundu wina uliwonse wa maonekedwe.

Mawu Omwe Nthawi Zonse

Mawu opezeka nthawi zonse ndiwo mtundu wokwanira womwe umapezeka mwachitsanzo . Zimapangidwa ndi zilembo motere:

c

yogwirizana ndi non-metacharacter c .

\ c

lifanane ndi chikhalidwe chenicheni c .

.

imagwirizana ndi khalidwe lililonse kuphatikizapo newline.

^

ikugwirizana ndi chiyambi cha chingwe.

$

imagwirizana ndi kutha kwa chingwe.

[ abc ... ]

Mndandanda wa mndandanda, umatsatila aliyense wa malemba awo ....

[^ abc ... ]

Mndandanda wa mndandanda wa mndandanda, umasamalidwa ndi aliyense kupatula abc ....

r1 | r2

Kusinthana: kumayenderana mwina r1 kapena r2 .

r1r2

concatenation: ofanana r1 , ndiyeno r2 .

r +

imagwirizana chimodzi kapena zingapo r .

r *

yatsani zero kapena zambiri r .

r ?

yatsani zero kapena imodzi r

( r )

kugawana: kumayenderana r .

r { n }

r { n ,}

r { n , m } Chiwerengero chimodzi kapena ziwiri mkati mwake chimatanthauzira mawu amodzi . Ngati pali chiwerengero chimodzi mumsalu, chiwonetsero chafupipafupi chimayambirikanso nthawi. Ngati pali nambala ziwiri zolekanitsidwa ndi comma, r imabwerezedwa n m m nthawi. Ngati pali nambala imodzi yotsatiridwa ndi comma, ndiye kuti imabwerezedwa mobwerezabwereza.

Mawu amodzimodzi amapezeka pokhapokha ngati -positi kapena -re-interval ikufotokozedwa pa mzere wa lamulo.

\ y

gwirizanitsani chingwe chopanda kanthu kumayambiriro kapena kumapeto kwa mawu.

\ B

gwirizaninso chingwe chopanda kanthu mkati mwa mawu.

\ <

gwirizanitsani chingwe chopanda kanthu kumayambiriro kwa mawu.

\>

gwirizanitsani chingwe chopanda kanthu kumapeto kwa mawu.

\ w

lifanane ndi liwu lirilonse la chilembo (kalata, chiwerengero, kapena kutsindika).

\ W

lifanane ndi khalidwe liri lonse lomwe silili mawu-lokha.

\ `

gwirizaninso chingwe chopanda kanthu kumayambiriro kwa chingwe (chingwe).

\ '

gwirizanitsani chingwe chopanda kanthu pamapeto pake.

Zotsatira za kuthawa zomwe ziri zowonjezereka muzitsulo zamagetsi (onani m'munsimu) ndizovomerezeka m'mawu ozolowereka.

Maphunziro a khalidwe ndi chinthu chatsopano chomwe chinayambika muyezo wa POSIX. Mndandanda wa chikhalidwe ndi chidziwitso chapadera pofotokoza mndandanda wa zilembo zomwe ziri ndi chidziwitso china, koma kumene malemba enieniwo amatha kusiyana pakati pa dziko ndi / kapena kuchokera ku chikhalidwe chokhazikika ku chikhalidwe. Mwachitsanzo, lingaliro la chikhalidwe cha alfabeti likusiyana ku USA ndi ku France.

Mndandanda wa chikhalidwe ndi wovomerezeka muzowonetsera nthawi zonse mkati mwa mabakita a mndandanda wa mndandanda. Makhalidwe aumunthu amakhala ndi [: , mawu ofunika omwe amasonyeza kalasi, ndi :] . Maphunziro a makhalidwe omwe amafotokozedwa ndi muyezo wa POSIX ndi awa:

[: alnum:]

Zithunzi za alphanumeric.

[: alpha:]

Zilembedwe za alfabeti.

[: opanda kanthu:]

Malo kapena zilembo za tabu.

[: cntrl:]

Olemba malemba.

[: chiwerengero:]

Olemba Numeri.

[: graph:]

Makhalidwe omwe onse amasindikizidwa ndi owonekera. (Malo ali osindikizidwa, koma osawonekeratu, pomwe onse ali.)

[: pansi:]

Zithunzi zochepa za zilembo za alfabeti.

[: sindikizani:]

Zithunzi zosindikizidwa (zilembo zomwe sizomwe zimalamulira anthu.)

[: chidutswa:]

Manambala a chilembo (malemba omwe sali chilembo, mawerengero, machitidwe olamulira, kapena zigawo za malo).

[: malo:]

Anthu otchuka (monga malo, tabu, ndi maonekedwe, kutchula ochepa).

[: chapamwamba:]

Zithunzi zamtundu wa zilembo zazikulu.

[: xdigit:]

Makhalidwe omwe ali manambala a hexadecimal.

Mwachitsanzo, pamaso pa POSIX, kuti mufanane ndi zilembo zamagulu, muyenera kulemba / [A-Za-z0-9] / . Ngati khalidwe lanu limakhala ndi zilembo zina za alfabeti mmenemo, izi sizikugwirizana nazo, ndipo ngati chikhalidwe chanu chitayikidwa mosiyana kuchokera ku ASCII, izi sizikhoza ngakhale kufanana ndi zilembo za ASCII alphanumeric. Ndizigawo za khalidwe la POSIX, mukhoza kulemba / [[: alnum:]] / , ndipo izi zikugwirizana ndi zilembo za alfabheti ndi nambala mu chikhalidwe chanu.

Zotsatira zina ziwiri zapadera zingatheke muzinthu zamndandanda. Izi zimagwiritsidwa ntchito pazinthu zosakhala za ASCII, zomwe zingakhale ndi zizindikiro zofanana (zotchedwa zinthu zosungunula ) zomwe zimayimiliridwa ndi zizindikiro zosiyana, komanso zilembo zingapo zomwe zimakhala zofanana, zogwirizana, kapena zolinga. (Mwachitsanzo, m'Chifalansa, ndime `` e '' ndi e-accented e` ndi ofanana.)

Zizindikiro Zosakaniza

Chizindikiro chododometsa ndi chinthu chophatikizana chomwe chimaphatikizidwa mu [. ndi .] . Mwachitsanzo, ngati ch chithunzithunzi , ndiye [[.ch.]] Ndizowonetsera nthawi zonse zomwe zimagwirizanitsa chinthu ichi, pamene [ch] ndikulankhula kawirikawiri komwe kumagwirizana ndi c kapena h .

Maphunziro Ofanana

Chiwerengero chofanana ndi dzina lenileni la mndandanda wa malemba omwe ali ofanana. Dzinalo liri mkati mwa [= and =] . Mwachitsanzo, dzina e lingagwiritsidwe ntchito poyimira zonse ``, '' `` e ',' 'ndi `` e`' 'Pankhaniyi, [= = = =] ndizowonetsera nthawi zonse imagwirizana ndi e , e ' , kapena e` iliyonse .

Zinthu izi ndi zofunika kwambiri m'malo osalankhulira Chingelezi. Ntchito zaibulale zomwe gawk amagwiritsira ntchito kuwonetsera nthawi zonse zimangodziwa maphunzilo a khalidwe la POSIX; Iwo samadziwa zizindikiro zosakanikirana kapena makalasi ofanana.

Zomwe \ ,, B , \,, \\ , \ w , \ W , \ ` , ndi \ ' operekera zimayankhula kuti ziwonekere ; Ndizowonjezereka zochokera kuzipinda zamakono ogwiritsira ntchito GNU.

Mndandanda wa mndandanda wa maulamuliro otsogolera amayendetsa momwe gawk amatanthauzira zilembo muzowonongeka .

Palibe zosankha

Muzolakwika , gawk amapereka zonse zomwe zili POSIX nthawi zonse ndi GNU nthawi zonse opaleshoni operekedwa pamwambapa. Komabe, mawu amodzimodzi sali othandizidwa.

- postx

Mawu POSIX okhazikika amathandizidwa, ogwira ntchito a GNU sali apadera. (Mwachitsanzo, ali ndi zenizeni w ). Mawu amodzimodzi amaloledwa.

- nthawi

Zolemba za Traditional Unix zosavuta nthawi zonse zimagwirizana. Ogwira ntchito a GNU sali osiyana, mawu amodzimodzi sapezeka, ndipo palibe POSIX zigawo za makhalidwe ( [:: alnum:]] ndi zina zotero). Anthu otchulidwa ndi machitidwe othawirako octal ndi hexadecimal amachiritsidwa kwenikweni, ngakhale ngati akuyimira mawonetsedwe afupipafupi.

- nthawi yamkati

Lolani mawu amodzi mwazinthu zowonongeka, ngakhale ngati_zinthu zakhala zikuperekedwa.

Zochita

Zolemba zachitetezo zili mkati mwa braces, { and } . Zolemba zachitidwe zimaphatikizapo ndondomeko yowonjezereka, yovomerezeka, ndi yowonongeka yomwe imapezeka m'zinenero zambiri. Ogwira ntchito, ndondomeko zowonongeka, ndi ndondomeko zoyenerera / zowonjezera zomwe zilipo zimatsatira pambuyo pa C.

Ogwira ntchito

Ogwiritsira ntchito mu AWK, mwa dongosolo la kuchepa koyamba, ali

( ... )

Kugulukira

$

Mndandanda wa malo.

++ -

Kusakaniza ndi kuchepetsa, zonse zoyambira ndi postfix.

^

Exponentiation ( ** ingathenso kugwiritsidwa ntchito, ndipo ** = kwa wopereka ntchito).

+ -!

Ophatikizana kuphatikizapo, osakwatirana osagwirizana, ndi kunyalanyaza mwatsatanetsatane.

* /%

Kuwonjezeka, kugawa, ndi modulus.

+ -

Kuwonjezera ndi kuchotsa.

malo

Mphindi.

<>

<=> =

! = == Ogwira ntchito nthawi zonse.

~! ~

Kuwonetsera nthawi zonse, kusakanikirana. ZOYENERA: Musagwiritse ntchito nthawi zonse ( / foo / ) kumanzere kwa ~ kapena ! ~ . Gwiritsani ntchito imodzi kumanja. Mawu / foo / ~ exp ali ndi tanthauzo lofanana ndi (($ 0 ~ / foo /) ~ exp ) . Izi sizinali zoyenera.

mu

Amembala.

&&

Zolingalira ndi.

||

Zosamveka OR.

?:

Kufotokozera kwachikhalidwe cha C. Ili ndi mawonekedwe expr1 ? expr2 : expr3 . Ngati ndizoona, ubwino wa mawuwo ndi expr2 , mwinamwake ndi expr3 . Chokhacho cha expr2 ndi expr3 chikuyesedwa.

= + = - =

* = / =% = ^ = Ntchito. Ntchito yonse yomaliza ( var = value ) ndi ntchito (ntchito zina) zimathandizidwa.

Mafotokozedwe Owongolera

Mawu olamulira ndi awa:

ngati ( chikhalidwe ) mawu [ other statement ] pamene ( condition ) statement statement pamene ( chikhalidwe ) cha ( expr1 ; expr2 ; expr3 ) mawu a ( var in array ) mawu apitiliza kupitiriza kufutukula [ index ] chotsani gulu lochokera [ mawu ] { mawu }

Malemba O / O

Mawu otsogolera / okhutirapo ndi awa:

pafupi ( fayilo [ , bwanji ] )

Tsekani fayilo, chitoliro kapena ndondomeko. Zomwe mungasankhe ziyenera kugwiritsidwa ntchito pokhapokha kutseka mapeto awiri a mapaipi awiri. Iyenera kukhala yamtengo wapatali, kaya "ku" kapena "kuchokera" .

mzere

Ikani $ 0 kuchokera pazotsatira zowonjezera; ikani NF , NR , FNR .

fayilo < fayilo

Ikani $ 0 kuchokera pa fayilo yotsatira ya fayilo ; ikani NF .

getline var

Ikani var kuchokera pazotsatira zowonjezera; ikani NR , FNR .

getline var < fayilo

Ikani var kuchokera pa fayilo yotsatira ya fayilo .

lamulo | getline [ var ]

Kuthamanga lamulo kuyendetsa chiwerengero cha $ 0 kapena var , monga momwe iliri pamwambapa.

lamulo | & getline [ var ]

Kuthamanga lamulo ngati mgwirizano wophatikizapo phindu kuchokera ku $ 0 kapena var , monga momwe iliri pamwambapa. Kuchita-ndondomeko ndikutambasula.

Ena

Lekani kukonza zolembera zamakono. Mbiri yotsatira yowonjezera ikuwerengedwa ndikukonzekera kumayamba ndi dongosolo loyamba mu pulogalamu ya AWK. Ngati mapeto a deta yowonjezera afikira, mapeto a END , ngati alipo, aperekedwa.

yotsatira

Lekani kusinthira fayilo yowonjezera yamakono. Nkhani yotsatira yowonjezera imachokera ku fayilo yotsatira yotsatira. FILENAME ndi ARGIND zasinthidwa, FNR ikubwezeretsedwanso ku 1, ndipo processing ikuyamba ndi dongosolo loyamba mu program AWK. Ngati mapeto a deta yowonjezera afikira, mapeto a END , ngati alipo, aperekedwa.

sindikizani

Ilijambula zolembera zamakono. Chiwerengero cha chiwonongeko chachotsedwa ndi mtengo wa kusintha kwa ORS .

sindikizani mndandanda

Kusindikiza mawu. Mawu onse amalekanitsidwa ndi mtengo wa variable OFS . Chiwerengero cha chiwonongeko chachotsedwa ndi mtengo wa kusintha kwa ORS .

sindikirani mndandanda wazomwe > fayilo

Kujambula mawu pa fayilo . Mawu onse amalekanitsidwa ndi mtengo wa variable OFS . Chiwerengero cha chiwonongeko chachotsedwa ndi mtengo wa kusintha kwa ORS .

printf fmt, expr-mndandanda

Pangani ndi kusindikiza.

printf fmt, expr-list > fayilo

Pangani ndi kusindikiza pa fayilo .

dongosolo ( cmd-line )

Ikani lamulo la cmd , ndi kubwezeretsanso nthawi yotuluka. (Izi zikhoza kupezeka pa machitidwe osakhala POSIX.)

fflush ( [ fayilo ] )

Ntchentche zilizonse zomwe zimagwirizanitsidwa ndi fayilo yotseguka kapena fayilo . Ngati fayilo ikusowa, ndiye kuti pulogalamu yamtunduwu imachotsedwa. Ngati fayilo ndi chingwe chosakanizika, ndiye kuti mafayilo onse otseguka ndi mapaipi ali ndi zida zawo.

Zowonjezeredwa zowonjezeredwa zowonjezera zimaloledwa kuti zisindikizidwe ndi kusindikiza .

sindikizani ... >> fayilo

imaphatikizapo zotuluka kuchokera ku fayilo .

sindikizani ... | lamulo

akulemba pa chitoliro.

sindikizani ... | & command

kutumiza deta kuntchito.

Lamulo la getline limabweretsa 0 kumapeto kwa fayilo ndi -1 palakwika. Palakwika , ERRNO ili ndi chingwe chofotokozera vutoli.

ZOYENERA: Ngati mukugwiritsa ntchito chitoliro kapena ndondomeko yanu pamtunda , kapena kuti musindikizike kapena musindikize m'kati mwake, muyenera kugwiritsa ntchito () kupanga nthawi zatsopano za lamuloli. AWK sizimatseka mapaipi kapena njira zothandizira pokhapokha atabwerera EOF.

Printf Statement

Mabaibulo a AWK a printf statement ndi sprintf () ntchito (onani m'munsimu) avomereze mawonekedwe otsatirawa:

% c

Chikhalidwe cha ASCII. Ngati mkangano wogwiritsidwa ntchito pa % c uli wowerengeka, umatengedwa ngati khalidwe ndi kusindikizidwa. Apo ayi, kutsutsana kukuganiziridwa kuti ndi chingwe, ndipo khalidwe loyambirira lokha lachingwelo limasindikizidwa.

% d , % i

Nambala yapamwamba (chiwerengero cha integer).

% e,% E

Nambala yakuyandama ya mawonekedwe [-] d.dddddde [+ -] dd . Maonekedwe a % E amagwiritsa ntchito E m'malo mwa e .

% f

Nambala yakuyandama ya mawonekedwe [-] ddd.dddddd .

% g,% G

Gwiritsani ntchito % e kapena % f kutembenuzidwa, zilizonse zofupikitsa, ndi zeros zomwe sizinasinthe. Fomu ya % G imagwiritsa ntchito % E mmalo mwa % e .

% o

Chiwerengero cha octal osatumizidwa (komanso chiwerengero chachikulu).

% u Chiwerengero cha decimal chosayimilidwa (kachiwiri, nambala).

% s

Chingwe cha khalidwe.

% x,% X

Nambala ya hexadecimal yosatumizidwa (yaikulu). Fomu ya % X imagwiritsa ntchito ABCDEF mmalo mwa abcdef .

%%

Chikhalidwe chokha = % ; palibe kutsutsana kutembenuzidwa.

Zosankha, zowonjezera magawo angakhale pakati pa % ndi kalata yoyang'anira:

muwerengere $

Gwiritsani ntchito chiwerengero cha 'thong'onoting'ono pa mfundo iyi mukupangidwira. Izi zimatanthauzidwa kuti ndizomwe zimagwiritsidwa ntchito pokhapokha ndipo zimagwiritsidwa ntchito makamaka pogwiritsa ntchito zida zosinthidwa, osati m'malemba oyambirira a pulogalamu ya AWK. Ndikutambasula.

-

Mawuwo ayenera kukhala otsala-olondola m'munda wake.

malo

Kwa kutembenuzidwa kwa chiwerengero, chikhalidwe choyambirira chabwino ndi malo, ndi makhalidwe osayenera ndi chizindikiro chochepa.

+

Chizindikiro chogwiritsidwa ntchito, chisanayambe kutsogolo kwazithunzi (onani m'munsimu), chimati nthawi zonse chimapereka chizindikiro kwa kutembenuzidwa kwa chiwerengero, ngakhale ngati deta ikulinganiza ndi yabwino. The + imadutsa malo kusintha.

#

Gwiritsani ntchito `` mawonekedwe ena '' kwa makalata ena olamulira. Kwa % o , perekani zero yopambana. Kwa % x , ndi % X , perekani chotsogolera 0x kapena 0X chifukwa cha zotsatira. Kwa % e , % E , ndi % f , zotsatira zake zonse zimakhala ndi decimal. Kwa % g , ndi % G , zero zotsatila sizimachotsedwa ku zotsatira.

0

Chitsogozo cha 0 (zero) chimachita ngati mbendera, chomwe chimasonyeza kuti chiwongoladzanja chiyenera kukhala chodzaza ndi zero mmalo mwa malo. Izi zimagwiranso ntchito ngakhale maonekedwe osalongosoka opangidwira. Mbendera imangokhala ndi zotsatirapo pamene kukula kwa munda kuli kwakukulu kusiyana ndi kufunika kosindikizidwa.

m'lifupi

Mundawu uyenera kukhala wamtengo wapatali pazitali izi. Munda nthawi zambiri umakhala ndi malo. Ngati mbendera 0 yagwiritsidwa ntchito, ili ndi zero.

. chonchi

Chiwerengero chomwe chimatanthauzira molondola momwe mungagwiritsire ntchito kusindikiza. Kwa % e , % E , ndi % f mawonekedwe, izi zimatanthauzira chiwerengero cha ziwerengero zomwe mukufuna kuti zisindikizidwe kumanja kwa mfundo ya decimal. Kwa % g , ndi % G mawonekedwe, imatanthauzira chiwerengero chachikulu cha ziwerengero zazikulu. Kwa % d , % o , % i , % u , % x , ndi % X mawonekedwe, imatanthauzira chiwerengero chochepa cha chiwerengero ndi kusindikiza. Kwa % s , imatanthauzira chiwerengero cha anthu omwe ali ndi chingwe chomwe chiyenera kusindikizidwa.

Kukula kwakukulu ndi luso la ANSI C printf () zizolowezi zimathandizidwa. A * m'malo mwake kapena m'kati mwake amachititsa kuti mfundo zawo zichotsedwe pa mndandanda wa zokangana kuti printf kapena sprintf () . Kuti mugwiritse ntchito ndondomeko yowonjezera ndi kukula kwakukulu kapena mwatsatanetsatane, perekani ndalama ya $ pambuyo pa * mu fayilo ya mtundu. Mwachitsanzo, "% 3 $ * 2 $. * 1 $ s" .

Maina Ophatikiza Mafayilo

Pamene ndikusinthidwa I / O kuchokera kumasindikiza kapena kusindikiza kukhala fayilo, kapena kudzera pa goline kuchokera pa fayilo, gawk imadziwa ma filenames ena apadera mkati. Mafayilo awa amavomereza amalephera kufotokoza mafayilo opangira mafayilo omwe amachokera ku njira ya makolo (nthawi zambiri chipolopolo). Mayina awa a fayilo angagwiritsidwe ntchito pa mzere wa malamulo kutchula mafayilo a deta. Mayinawa ndi awa:

/ dev / stdin

Zowonjezera zolembera.

/ dev / stdout

Mtundu woyenera.

/ dev / stderr

Zolakwitsa zomwe zimachokera.

/ dev / fd / n

Fayilo ikugwirizana ndi mafayilo otseguka descriptor n .

Izi ndi zothandiza makamaka pa mauthenga olakwika. Mwachitsanzo:

sindikizani "Mwaiwala!" > "/ dev / stderr"

pamene inu mungafunikire kugwiritsa ntchito

sindikizani "Mwaiwala!" | | "cat 1> & 2"

Mafayilo apadera otsatirawa angagwiritsidwe ntchito ndi | & co-process operator kuti apange TCP / IP mauthenga.

/ inet / tcp / lport / rhost / rport

Foni ya kugwirizana kwa TCP / IP ku malo otseguka kwanuko kupita kumidzi yakutali kuti mudziwe kumalo akutali. Gwiritsani ntchito doko la 0 kuti pulogalamuyi ikhale phukusi.

/ inet / udp / lport / rhost / rport

Zofanana, koma gwiritsani ntchito UDP / IP mmalo mwa TCP / IP.

/ inet / yaiwisi / lport / rhost / rport

Zasungidwa kuti zigwiritsidwe ntchito mtsogolo.

Mafayilo ena apadera amapereka mwayi wodziwa zambiri zokhudza kayendedwe ka gawk . Mayina a mafayilowa tsopano satha. Gwiritsani ntchito PROCINFO gawo kuti mudziwe zambiri zomwe amapereka. Mayinawa ndi awa:

/ dev / pid

Kuwerenga fayiloyi kubwezeretsa ndondomeko ya ndondomeko ya ndondomeko yamakono, mu decimal, yotsirizidwa ndi newline.

/ dev / ppid

Kuwerenga fayiloyi kubwezeretsa ndondomeko ya njira ya makolo yomwe ikuchitika, mu decimal, yothetsedwa ndi newline.

/ dev / pgrpid

Kuwerenga fayiloyi kubwezeretsa ID ya gulu la ndondomeko yamakono, mu decimal, yotsirizidwa ndi newline.

/ dev / wosuta

Kuwerenga fayiloyi kubwezeretsa chiwerengero chimodzi chomwe chatsekedwa ndi newline. Minda imasiyanitsidwa ndi malo. $ 1 ndi mtengo wa pulogalamu ya getuid (2), $ 2 ndi mtengo wa pulogalamu ya geteuid (2), $ 3 ndi mtengo wa callgid (2) mafoni, ndipo $ 4 ndi mtengo wa getegid (2) kuyitana kwadongosolo. Ngati pali minda yowonjezerapo, ndi ma ID a gulu omwe amabwezedwa ndi magulu (2). Magulu ambiri sangakhale othandizidwa pa machitidwe onse.

Ntchito za Numeri

AWK ili ndi ntchito zotsatirazi:

atan2 ( y , x )

Kubwezeretsa chikhomo cha y / x m'ma radians.

cos ( expr )

Kubwezeretsa cosine ya expr , yomwe ili mu radians.

exp ( expr )

Ntchito yofotokozera.

int ( expr )

Imatumizira kuti ikhale yochuluka.

lowezani ( expr )

Logarithm yachirengedwe ikugwira ntchito.

rand ()

Kubwezera chiwerengero chosasintha pakati pa 0 ndi 1.

tchimo ( expr )

Ibwezeretsa sine wa expr , yomwe ili mu radians.

sqrt ( expr )

Mizu yazitali.

srand ( [ expr ] )

Amagwiritsa ntchito expr ngati mbewu yatsopano ya jenereta ya nambala yosawerengeka. Ngati palibe expr , amapereka nthawi ya tsiku. Mtengo wobwereranso ndi mbewu yapitayi ya jenereta ya random.

Ntchito Zingwe

Gawk ili ndizinthu zotsatiridwazi:

asort ( s [ , d ] )

Ibwezeretsa chiwerengero cha zinthu muzomwe zimayambira s . Zomwe zili mu s zimasankhidwa pogwiritsira ntchito malamulo omwe amagwiritsidwa ntchito poyerekeza ndi machitidwe, ndipo ndondomeko za zikhalidwe zowonongedwazo zimatsatiridwa ndi integers zomwe zimayambira kuyambira 1. Ngati malo omwe mukufuna kupitako d akufotokozedwa, , kenako d amasankhidwa, kusiya zizindikiro za magwero a magetsi osasinthika.

anthuub ( r , s , h [ , t ] )

Fufuzani chingwe chachindunji t cha masewero a nthawi zonse r . Ngati h ndi chingwe choyamba ndi g kapena G , kenaka m'malo mwake muyike machesi a r ndi a . Apo ayi, h ndi nambala yomwe ikuimira mzere wa r kuti mutenge. Ngati t simapatsidwa, $ 0 amagwiritsidwa ntchito m'malo mwake. M'malo mwawamasulira s , ndondomeko \ n , pamene n ndi chiwerengero cha 1 mpaka 9, chingagwiritsidwe ntchito kusonyeza mawu omwe akufanana ndi kusamvana kwachidziwitso. Zotsatira ^ 0 zimayimira zonse zofanana, monga momwe zimakhalira ndi . Mosiyana ndi sub () ndi gsub () , chingwe chosinthidwa chimabweretsedwa monga zotsatira za ntchitoyo, ndipo chingwe choyambirira choyambirira sichimasinthidwa .

gsub ( r , s [ , t ] )

Pogwiritsa ntchito njira yowonongeka yowonongeka, yowonjezera chingwe, ndikubwezerani chiwerengero cha m'malowa. Ngati t satiperekedwe, gwiritsani ntchito $ 0 . An & in the substitution text amalowetsedwera ndi malemba omwe anafananitsidwa. Gwiritsani ntchito \ & kuti mutenge weniweni & . (Izi ziyenera kuimiridwa ndi "\\ &" ; onani GAWK: Zogwira ntchito AWK Programming kukambirana mozama malamulo ndi & s kubwerera mu replacement text of sub () , gsub () , ndi gensub () .)

chithunzi ( s , t )

Kubwezeretsa ndondomeko ya chingwe t mu chingwe, kapena 0 ngati t palibe. (Izi zikutanthauza kuti zizindikiro za chikhalidwe zimayamba pa chimodzi.)

kutalika ( [ s ] )

Kubwezeretsa kutalika kwa chingwe , kapena kutalika kwa $ 0 ngati s kuperekedwa.

machesi ( s , r [ , a ]

Kubwezeretsa malo omwe sichiwonetseratu nthawi zonse, kapena 0 ngati r palibe, ndikukhazikitsa mfundo za RSTART ndi RLENGTH . Onani kuti ndondomeko yotsutsana ndi yofanana ndi ochitira: olemba. Ngati gulu likuperekedwa, chotsulidwa ndiyeno zigawo 1 kupyolera n zimadzazidwa ndi magawo a s omwe akugwirizana ndi kufotokozera kwa makolo omwe akugwirizana nawo. Chigawo cha 0'cho chiri ndi gawo lasayanjanitsidwe ndi zonse zowonongeka.

kupatukana ( s , a [ , r ] )

Amagwiritsira ntchito chingwechi m'ndandanda wa pafupipafupi r , ndi kubwezera chiwerengero cha minda. Ngati palibe, FS imagwiritsidwa ntchito m'malo mwake. Zowonongeka zayamba. Kutupa kumachita chimodzimodzi kugawanitsa munda, kutchulidwa pamwambapa.

sprintf ( fmt , expr-mndandanda )

Zosindikiza expr-mndandanda molingana ndi fmt , ndi kubwezeretsa chingwe chomwecho.

strtonum ( str )

Kufufuza str , ndi kubwezeretsa kuwerengera kwake. Ngati chingwe chimayamba ndi chotsogolera 0 , strtonum () imaganiza kuti str ndi nambala ya octal. Ngati chingwe chimayamba ndi 0x kapena 0X chotsogolera , strtonum () imaganiza kuti str ndi nambala ya hexadecimal.

ndime ( r , s [ , t ] )

Mofanana ndi gsub () , koma choyamba chofananamo chotsatira chimalowetsedwa.

substr ( s , i [ , n ] )

Amabwezeretsa kwambiri n- choracter mmphepete mwa s kuyambira pa i . Ngati n siyani, s sagwiritsidwa ntchito.

kulolera ( str )

Kubwezeretsa kopi ya chingwe str , ndi onse omwe ali pamwamba pamasewero omwe amamasuliridwa kwa anzawo omwe ali ofanana. Zosatchulidwa ndi zilembo zamasamba zasinthika.

toupper ( str )

Kubwezeretsa kopi ya chingwe str , ndi onse omwe ali pansi pamasewero omwe amamasuliridwa kwa anzawo omwe ali ofanana nawo. Zosatchulidwa ndi zilembo zamasamba zasinthika.

Ntchito Yanthawi

Popeza chimodzi mwazogwiritsiridwa ntchito za mapulogalamu a AWK ndizolemba mawonekedwe a ma lolo omwe ali ndi timapepala tomwe timakhala timapepala, gawk imapereka ntchito zotsatirazi kuti tipeze timapepala tomwe timapanga.

mktime ( datespec )

Amatsatsa datespec mu timapepala tomwe timakhala tomwe timabwereranso ndi systime () . Dalapec ndi chingwe cha mawonekedwe a YYYY MM DD HH MM SS [DST] . Zomwe zili mu chingwe zili nambala zisanu ndi chimodzi kapena zisanu ndi ziwiri zikuyimira chaka chonse, kuphatikizapo zaka, mwezi kuyambira 1 mpaka 12, tsiku la mwezi kuyambira 1 mpaka 31, ora la tsiku kuyambira 0 mpaka 23, miniti kuyambira 0 mpaka 23 59, ndi yachiwiri kuchokera ku 0 mpaka 60, ndi chojambula chosungira kuwala kwa tsiku. Makhalidwe a manambalawa sayenera kukhala m'matawu omwe atchulidwa; Mwachitsanzo, ola la -1 limatanthauza 1 ora pasanafike pakati pausiku. Kalendala ya kalendala ya Gregoriyo imaganiziridwa, ndi chaka 0 chaka chatha 1 ndi chaka -1 chaka chapitacho 0. Nthawiyi imaganiza kuti ili nthawi yam'deralo. Ngati mbendera yosungira masana ndi yabwino, nthawi imatengedwa kukhala nthawi yopulumutsa masana; ngati zero, nthawi imalingalira kukhala nthawi yoyenera; ndipo ngati chosalongosoka (default), mktime () amayesa kudziwa ngati nthawi yowonetsera nthawi ikugwira ntchito pa nthawi yeniyeni. Ngati datespec ilibe zinthu zokwanira kapena ngati nthawiyo ilibe, mktime () umabwerera -1.

strftime ( [ mawonekedwe [ , timestamp ]] )

Zimapanga timatampampu molingana ndi malembawo. Timestamp iyenera kukhala ya mawonekedwe omwe amabwezedwa ndi systime () . Ngati timestamp ikusowa, nthawi yeniyeni ya tsiku imagwiritsidwa ntchito. Ngati mawonekedwe sakusowa, mawonekedwe osasinthika ofanana ndi zotsatira za tsiku (1) amagwiritsidwa ntchito. Onani tsatanetsatane wa strftime () ikugwira ntchito mu ANSI C chifukwa cha kutembenuzidwa kwa mawonekedwe omwe akutsimikizirika kukhalapo. Tsamba lachidziwitso cha anthu la strftime (3) ndi tsamba la munthu chifukwa ilo liri ndi gawk ; ngati vesili likugwiritsidwa ntchito kumanga galama , ndiye kutembenuzidwa konse komwe kumatchulidwa mu tsamba la munthu ndikokupezeka.

systime ()

Kubwezera nthawi yeniyeni ya tsiku monga chiwerengero cha masekondi kuchokera pa Epoch (1970-01-01 00:00:00 UTC pa POSIX machitidwe).

Kusokoneza Bwino Ntchito

Kuyambira ndi machitidwe 3.1 a gawk , ntchito zotsatirazi zowonongeka zikupezeka. Amagwira ntchito potembenuza miyezo yapamwamba yoyendetsa pansi kwa okalamba osatumizidwa , kuchita opaleshoni, ndikutembenuza zotsatirazo kumbuyo. Ntchitoyi ndi:

ndi ( v1 , v2 )

Bweretsani zolakwika ndi Zomwe zimaperekedwa ndi v1 ndi v2 .

compl ( val )

Bweretsani kothandizira kowonjezera kwa val .

Lshift ( val , count )

Bweretsani mtengo wa val , osunthira kumanzere ndi kuwerengera bits.

kapena ( v1 , v2 )

Bweretsani zolakwika kapena OR zomwe zimaperekedwa ndi v1 ndi v2 .

rhift ( val , count )

Bweretsani mtengo wa val , osinthidwa pomwe ndi kuwerengera .

xor ( v1 , v2 )

Bweretsani zovuta za XOR zomwe zimaperekedwa ndi v1 ndi v2 .

Internationalization Ntchito

Kuyambira ndi ndondomeko 3.1 ya gawk , ntchito zotsatirazi zingagwiritsidwe ntchito kuchokera mkati mwa dongosolo lanu la AWK lomasulira zingwe pa nthawi yothamanga. Kuti mudziwe zambiri, onani GAWK: Zogwira AWK Programming .

bindtextdomain ( directory [ , domain ] )

Imafotokozera malo omwe gawk akuyang'ana mafayilo a .mo , ngati sangathe kuika malo `` standard '' (mwachitsanzo, pakuyesedwa). Ikubwezeretsanso zolemba kumene chikhazikitso chiri `` chomangidwa. ''

Ma domain osasintha ndi mtengo wa TEXTDOMAIN . Ngati chingwe ndi chingwe chachinsinsi ( "" " ), ndiye bindtextdomain () ikubwezeretsanso zamakono zomwe zapatsidwa.

dcgettext ( chingwe [ , domain [ , category ]] )

Ibwezeretsanso kumasulira kwa chingwe mu malo omwe ali m'dera lanulo. Mphamvu yosasinthika ku malowa ndi mtengo wamakono wa TEXTDOMAIN . Mtengo wosasintha pa gawo ndi "LC_MESSAGES" .

Ngati mupereka mtengo kwa gululo , liyenera kukhala chingwe chofanana ndi malo omwe amadziwika ku GAWK: Ogwira ntchito AWK Programming . Muyeneranso kupereka gawo lolemba. Gwiritsani ntchito TEXTDOMAIN ngati mukufuna kugwiritsa ntchito domeniyi .

dcngettext (chingwe1 , chingwe2 , chiwerengero [ , domain [ , category ]] )

Ibwezeretsa mawonekedwe ochuluka omwe amagwiritsidwa ntchito pa chiwerengero cha kumasulira kwa chingwe1 ndi chingwe2 mu gawo lachigawo cha gulu lachigawo . Mphamvu yosasinthika ku malowa ndi mtengo wamakono wa TEXTDOMAIN . Mtengo wosasintha pa gawo ndi "LC_MESSAGES" .

Ngati mupereka mtengo kwa gululo , liyenera kukhala chingwe chofanana ndi malo omwe amadziwika ku GAWK: Ogwira ntchito AWK Programming . Muyeneranso kupereka gawo lolemba. Gwiritsani ntchito TEXTDOMAIN ngati mukufuna kugwiritsa ntchito domeniyi .

ZOCHITIKA USER-DEFINED

Ntchito mu AWK zimatanthauzidwa motere:

Dzina la ntchito ( mndandandanda wamndandanda ) { mawu }

Ntchito imaperekedwa pamene iitanidwa kuchokera mkati mwa mawu muzinthu kapena zochita. Zolemba zenizeni zomwe zimaperekedwa muyitanidwe la ntchito zimagwiritsidwa ntchito poyambitsanso magawo ovomerezedwa mu ntchito. Mipata imadutsa poyang'ana, zosiyana zina zidaperekedwa ndi mtengo.

Popeza ntchito sizinali mbali ya chilankhulidwe cha AWK, kupereka kwa zosiyana siyana m'deralo ndizovuta kwambiri: Zimatchulidwa kuti ndizowonjezereka m'mndandanda wa mapepala. Msonkhanowo ndikutambasula zosiyana za m'deralo kuchokera ku malo enieni ndi malo owonjezera pa mndandanda wa parameter. Mwachitsanzo:

ntchito f (p, q, a, b) # ndi b ndi apakati {...} / abc / {...; f (1, 2); ...}

Malemba omaliza omwe ali kumanzere akufunika kuti atsatire mwamsanga dzina la ntchito, popanda malo oyera omwe amalowa. Izi ndizomwe mungapewe kugwirizana kophatikizidwa ndi otsogolera. Kuletsedwa uku sikugwiritsidwa ntchito ku ntchito zowonjezedwa zomwe tazitchula pamwambapa.

Ntchito zimatha kuthandizana ndipo zingakhale zowonjezereka. Mapangidwe amagwiritsidwe ntchito monga zovuta zapanyanja zimayambitsidwa ku chingwe cha null ndi nambala zero pa kupempherera.

Gwiritsani ntchito expr yobweretsera kubwezera mtengo kuchokera kuntchito. Mtengo wobwereza suli wosayika ngati palibe phindu lomwe laperekedwa, kapena ngati ntchitoyo ikubwerera ndi `` kugwa '' kutha.

Ngati_pangidwe laperekedwa, gawk imachenjeza za kuyimbira kuntchito zosawonongeka nthawi yowonongeka, mmalo mwa nthawi yothamanga. Kuitanitsa ntchito yosadziwika pa nthawi yothamanga ndi vuto lalikulu.

Mawu akuti func angagwiritsidwe ntchito mmalo mwa ntchito .

KUSANKHA KWAMBIRI NTCHITO ZATSOPANO

Kuyambira ndi machitidwe 3.1 a gawk , mungathe kuwonjezera ntchito zatsopano zowonjezera kwa womasulira wa gawk . Zonsezi ndizosiyana ndi zomwe zili patsamba lino; onani GAWK: Zogwira ntchito AWK Programming kuti mudziwe zambiri.

Kutsatsa ( chinthu , ntchito )

Lumikizitsani mwatsatanetsatane mafayilo omwe ali nawo omwe amatchulidwa ndi chinthu , ndikupempha ntchito mu chinthucho, kuti muyambe kuyambitsa. Izi ziyenera kuperekedwa zonse ngati zingwe. Kubwezeretsa mtengo umene wabwerera ndi ntchito .

Ntchitoyi imaperekedwa ndipo inalembedwa ku GAWK: Yogwira ntchito AWK Programming , koma chirichonse chokhudzana ndi gawoli chingasinthe mu kumasulidwa kwotsatira. Tikukulimbikitsani kuti musagwiritse ntchito chida chilichonse pa zomwe simukufuna kubwereranso.

ZIZINDIKIRO

pgawk amalandira zizindikiro ziwiri. SIGUSR1 imachititsa kuti iwononge fayilo ndi machitidwe a foni ku fayilo ya mbiri, mwina awkprof.out , kapena fayilo iliyonse yomwe imatchulidwa ndi_sankhidwe . Icho chimapitiriza kuthamanga. SIGHUP imayambitsa mbiri ndi ntchito yothandizira ndikutha.

ZITSANZO

Sakanizani ndi kusankha mayina olowera a olemba onse: BEGIN {FS = ":"} {kusindikiza $ 1 | " yesani"} Lembani mzere mu fayilo: {nlines ++} END {kusindikizira nlines} Lembani mzere uliwonse ndi nambala yake mu fayilo: {kusindikiza FNR, $ 0} Concatenate ndi nambala ya nambala (zosiyana pa mutu): {kusindikiza NR, $ 0}

Sakanizani

Zitsulo zazitsulo zikutsatizana ndi malemba omwe amapezeka m'mavesi awiri. M'malo osalankhula Chingerezi, n'zotheka kusindikiza zingwe mu pulogalamu ya AWK pofuna kumasulira kwa chilankhulo cha chibadwidwe. Zingwe zoterezi zimadziwika mu pulogalamu ya AWK ndi kutsogolera kutsogolo (`` _ ''). Mwachitsanzo,

gawk 'BEGIN {kusindikiza "hello, dziko"}'

nthawi zonse amasindikiza hello, dziko . Koma,

gawk 'BEGIN {kusindikiza _ "hello, dziko"}'

mukhoza kusindikiza bonjour, dziko ku France.

Pali njira zingapo zomwe zimaphatikizapo kupanga ndi kuyendetsa pulogalamu ya AWK yomwe ikupezeka.

1.

Onjezani BEGIN kanthu kuti mugawire phindu ku TEXTDOMAIN zosinthika kuti muike mayina anu pa dzina lomwe likugwirizana ndi pulogalamu yanu.


BEGIN {TEXTDOMAIN = "myprog"}

Izi zimathandiza gawk kupeza fomu ya .mo yogwirizana ndi pulogalamu yanu. Popanda sitepeyi , gawk amagwiritsa ntchito mauthenga a mauthenga, omwe mwina alibe mabaibulo a pulogalamu yanu.

2.

Lembani zingwe zonse zomwe ziyenera kumasuliridwa ndi kutsindika kutsogolo.

3.

Ngati ndi kotheka, gwiritsani ntchito dcgettext () ndi / kapena bindtextdomain () ntchito m'dongosolo lanu, ngati n'koyenera.

4.

Kuthamanga gwero --gen-po -f myprog.awk> myprog.po kuti apange fayilo ya .po pulogalamu yanu.

5.

Perekani matembenuzidwe oyenerera, ndi kumanga ndi kukhazikitsa chofanana cha .mo file.

Zomwe zikuchitika padziko lonse zikufotokozedwa mwatsatanetsatane mu GAWK: Zogwira ntchito AWK Programming .

Posix Compatibility

Cholinga chachikulu cha gawk chikugwirizana ndi muyezo wa POSIX, komanso ndi UNIX awk . Kuti izi zitheke, gawk ikuphatikizapo zotsatirazi zomwe zikuwonetsedwa m'buku la AWK, koma ndi mbali ya Bell Laboratories version ya awk , ndipo ili muyezo wa POSIX.

Bukuli likuwonetsa kuti mzere wotsogola wogwira ntchito umachitika pamene awk atatsegulira mkangano ngati fayilo, yomwe ili pambuyo pa bwalo loyamba la BEGIN . Komabe, kumayambiriro koyambirira, pamene ntchito imeneyi inkaonekera pamaso pa mayina aliwonse a mafayilo, ntchitoyi idzachitike isanafike BEGIN bwalo likuyendetsedwa. Mapulogalamuwa adadalira pa `` chiyankhulo'chi. '' Pamene ocha asinthidwa kuti agwirizane ndi zolembedwa zake, njira yothetsera magawo musanayambe kukonza mapulogalamuyo kuti athetse ntchito zomwe zinkadalira khalidwe lakale. (Mbali iyi inavomerezedwa ndi Bell Laboratories ndi oyambitsa GNU.)

The -W chofunikila kukwanilitsa zenizeni ndizochokera muyezo wa POSIX.

Pogwiritsa ntchito mfundo, gawk amagwiritsa ntchito njira yapadera `` - '' kutchula mapeto a zokangana. Mogwirizana ndi mawonekedwe, imachenjeza koma koma imanyalanyaza zosankha zosadziwika. Mu ntchito yachizolowezi, zifukwa zoterezi zimapititsidwa ku pulogalamu ya AWK kuti ikwaniritsidwe.

Buku la AWK silinena za kubwerera kwa srand () . Miyezo ya POSIX imabweretsanso mbeu yomwe ikugwiritsidwa ntchito, kulola kusunga mwatsatanetsatane mawerengedwe a nambala. Choncho srand () mu gawk imabweretsanso mbewu yomwe ilipo.

Zina zatsopano ndizo: Kugwiritsira ntchito njira zambiri-kuchokera (kuchokera MKS awk ); gulu la ENVIRON ; kusamba , ndi \ " kuthawa zochitika (zomwe zinayambira kale mu gawk ndi kudyetsedwa mmbuyo mu Bell Laboratories version); ntchito yolowera () ndi toupper () yomwe imagwira ntchito (kuchokera ku Bell Laboratories version); ndi kutanthauzira kwa ANSI C mu printf (yoyamba mu Bell Laboratories version).

Zochitika Zakale

Pali mbali ziwiri za zolemba za AWK zomwe gawk zimathandiza. Choyamba, n'zotheka kuyitanira kutalika () ntchito yomangidwira osati kokha popanda kutsutsana, koma ngakhale popanda malemba! Choncho,

a = kutalika # Holy Algol 60, Batman!

ndi zofanana ndi zina

a = kutalika ()
a = kutalika ($ 0)

Mbaliyi imadziwika ngati `` yonyansa '' muyezo wa POSIX, ndipo nkhani za gawk zimachenjeza za ntchito yake ngati - zomveka zimayikidwa pa mzere wa lamulo.

Mbali ina ndiyo kugwiritsa ntchito kapena kupitilira kapena mawu omveka kunja kwa thupi la kanthawi , kapena, kapena kutsegula. Zolemba za AWK zachikhalidwe zakhala zikugwiritsira ntchito monga zofanana ndi mawu otsatirawa . Gawk imathandizira kugwiritsa ntchito ngati - nthawi yayitali .

GNU Extensions

Gawk ili ndi zowonjezera zowonjezera ku POSIX awk . Iwo akufotokozedwa mu gawo lino. Zowonjezera zonse zomwe zafotokozedwa apa zingathe kulepheretsedwera ndi kuyitanitsa phokoso ndi_kupangira njira.

Zotsatira zotsatirazi za gawk sizipezeka POSIX awk .

*

Palibe njira yofufuzira maofesi omwe amatchulidwa kudzera mu -f . Choncho, kusintha kwa chilengedwe cha AWKPATH sikunapadera.

*

Mndandanda wa \ x wopulumuka. (Olemala ndi -posix .)

*

Fflush () ikugwira ntchito. (Olemala ndi -posix .)

*

Kukhoza kupitiliza mzere wotsatira ? ndi :. (Olemala ndi -posix .)

*

Zolemba za Octal ndi hexadecimal mu mapulogalamu a AWK.

*

Mitundu ya ARGIND , BINMODE , ERRNO , LINT , RT ndi TEXTDOMAIN sizopadera .

*

Kusintha kwa IGNORECASE ndipo zotsatira zake sizimapezeka.

*

Munda wa FIELDWIDTHS wosinthika komanso wokhazikika.

*

Makhalidwe a PROCINFO sapezeka.

*

Kugwiritsiridwa ntchito kwa RS kumasonyeza nthawi zonse.

*

Mayina apadera apamwamba akupezeka kuti I / O kumangidwe sakuzindikiridwa.

*

The | & operator kupanga mapangidwe.

*

Kukwanitsa kugawaniza anthu omwe akugwiritsa ntchito chingwe chopanda kanthu ngati mtengo wa FS , ndipo ngati ndemanga yachitatu yopatukana () .

*

Mtsutso wachiwiri wodzisankhira kumapeto () ntchito.

*

Zokambirana zachitatu zogwirizana ndi masewera () .

*

Kukwanitsa kugwiritsa ntchito mafotokozedwe apadera ndi printf ndi sprintf () .

*

Kugwiritsira ntchito zowonjezera kuchotsa zonse zomwe zili m'gulu.

*

Kugwiritsiridwa ntchito kwaserifi kuti asiye kusinthidwa kwa fayilo yopezeka pakalipano.

*

The and () , asort () , bindtextdomain () , compl () , dcgettext () , gensub () , lshift () , mktime () , kapena () , rshift () , strftime () , strtonum () , systime () ndi xor () ntchito.

*

Zingwe zomveka.

*

Kuwonjezera ntchito zatsopano zomangidwira mwamphamvu ndizowonjezera () ntchito.

Buku la AWK silinena za kubwerera kwa ntchito yotseka () . Gulu lafupi la ( Gawk ) () limabweretsanso mtengo kuchokera pa fclose (3), kapena pclose (3), potseka fayilo kapena pomba, motero. Ikubwezeretsanso ndondomeko ya kutuluka kwa njirayo potseka chitoliro cholowera. Mtengo wobwereza ndi -1 ngati dzina lopatsidwa, chitoliro kapena ndondomeko sizinatsegulidwe ndi kukonzanso.

Pamene gawk ikuyankhidwa ndi_kusankha , ngati fs ndemanga ku -F njira ndi `` t '', ndiye FS imayikidwa kwa chikhalidwe cha tabu. Onani kuti kujambula gawk -F \ t ... kungachititse kuti chipolopolocho chibwereze ``, '', ndipo sichidutsa `` \ t '' ku -F njira. Popeza ichi ndi vuto lapadera, si khalidwe losasintha. Makhalidwe amenewa sachitanso ngati - postxx yatsimikiziridwa. Kuti mupeze khalidwe la tabu monga wolekanitsa kumunda, ndi bwino kugwiritsa ntchito mawu amodzi: gawk -F '\ t' ....

Onani malemba ena : Dikirani , lp , full , execv , getfacl , ioctl , uniq , rmmod , pvcreate , rsh , unix2dos , cal , fs , cd , iwpv , swapon , autofs , talk , motd , free , lpr , execl , fdisk , pa , amene , iwconfig , ifconfig , vgdisplay , kutseguka , lsmod , ntohs , mailq , kupha , wtmp