Nimi
gawk - kuvion skannaus ja käsittelykieli
tiivistelmä
gawk POSIX- tai GNU-tyyliasetukset -f ohjelma-tiedosto -- tiedosto …gawk POSIX- tai GNU-tyyppiset vaihtoehdot -- ohjelma-text tiedosto … pgawk POSIX- tai GNU-tyyliasetukset -f ohjelma-tiedosto -- tiedosto …pgawk POSIX- tai GNU-tyyppiset vaihtoehdot -- ohjelma-text tiedosto … gawk on GNU-projektin AWK-ohjelmointikielen toteutus. Se on POSIX 1003.2 Command Language And Utilities Standardin kielen määritelmä. Tämä versio perustuu vuorostaan kuvaukseen AWK-ohjelmointikieli , Aho, Kernighan ja Weinberger, joiden lisäominaisuudet löytyvät System V Release 4 -versiosta UNIX awk . gawk tarjoaa myös uusimpia Bell Laboratories awk laajennuksia ja useita GNU-spesifisiä laajennuksia. Pgawk on profiilimuoto gawk . Se on identtinen kaikin tavoin gawk , paitsi että ohjelmat toimivat hitaammin, ja se tuottaa automaattisesti suoritusprofiilin tiedostossa awkprof.out kun valmis. Katso --profiili vaihtoehto, alla. Komentorivin vaihtoehdoista on gawk AWK-ohjelmateksti (jos sitä ei toimiteta -f tai --file vaihtoehtoja) ja arvoja, jotka on asetettava argc ja argv ennalta määritellyt AWK-muuttujat. gawk vaihtoehdot voivat olla joko perinteisiä POSIX yksi kirje vaihtoehtoja tai GNU-tyylisiä pitkä vaihtoehtoja. POSIX-asetukset alkavat yhdellä `` - '', kun taas pitkät asetukset alkavat `` - ''. Pitkä vaihtoehtoja on tarjolla sekä GNU-ominaisuuksille että POSIX-käyttöoikeuksille. POSIX-standardin jälkeen, gawk -spesifiset vaihtoehdot toimitetaan argumenttien kautta -W vaihtoehto. moninkertainen -W vaihtoehtoja voidaan toimittaa Jokainen -W vaihtoehto on vastaava pitkä vaihtoehto, kuten alla on yksityiskohtainen. Pitkän vaihtoehdon argumentit liitetään joko optioon = merkki, ilman välitiloja tai ne voidaan antaa seuraavassa komentorivin argumentissa. Pitkät vaihtoehdot voidaan lyhentää, kunhan lyhenne on ainutlaatuinen. gawk hyväksyy seuraavat vaihtoehdot, jotka luetellaan aakkosjärjestyksessä. -F fs --field-erotin fs Käyttää fs syöttökentän erottimelle (arvo FS ennalta määritetty muuttuja). -v var = Val --assign var = Val Määritä arvo Val muuttujaan var , ennen ohjelman toteuttamista. Tällaiset muuttujat ovat käytettävissä ALKAA AWK-ohjelman lohko. -f ohjelma-tiedosto --file ohjelma-tiedosto Lue AWK-ohjelmalähde tiedostosta ohjelma-tiedosto , eikä ensimmäisestä komentorivin argumentista. moninkertainen -f (tai --file) vaihtoehtoja voidaan käyttää. -mf NNN -Herra NNN Aseta arvot muistiin NNN . f lippu määrittää kenttien enimmäismäärän ja R lippu määrittää enimmäiskokoa. Nämä kaksi lippua ja -m vaihtoehto on peräisin UNIXin Bell Laboratories -tutkimusversiosta awk . Ne jätetään huomiotta gawk , siitä asti kun gawk ei ole ennalta määriteltyjä rajoja. -W kompat -W perinteinen --compat --traditional Juokse sisään yhteensopivuus tilassa. Yhteensopivuustilassa, gawk käyttäytyy samalla tavoin kuin UNIX awk ; mikään GNU-spesifisistä laajennuksista ei tunnisteta. Käyttö --traditional on parempi kuin tämän vaihtoehdon muilla muodoilla. nähdä GNU EXTENSIONS, alla, lisätietoja. -W copyleft -W tekijänoikeudet --copyleft --copyright Tulosta GNU: n tekijänoikeustietosanoman lyhyt versio vakiotulosteesta ja poistu onnistuneesti. -W-dump-muuttujat= tiedosto --dump-muuttujat= tiedosto Tulosta lajiteltu luettelo globaaleista muuttujista, niiden tyypistä ja lopullisista arvoista tiedosto . Jos ei tiedosto tarjotaan, gawk käyttää nimettyä tiedostoa awkvars.out nykyisessä hakemistossa. Listalla kaikista globaaleista muuttujista on hyvä tapa etsiä typografisia virheitä ohjelmissasi. Käytettäisiin myös tätä vaihtoehtoa, jos sinulla on suuri ohjelma, jossa on paljon toimintoja, ja haluat varmistaa, etteivät toiminnot johda tahattomasti globaaleihin muuttujiin, joiden tarkoitus on olla paikallisia. (Tämä on erityisen helppo virhe tehdä yksinkertaisilla muuttujanimillä kuten minä, j, ja niin edelleen.) -W apua -W käyttö --auta --käyttö Tulosta suhteellisen lyhyt yhteenveto käytettävissä olevista vaihtoehdoista vakiotulosteessa. (Per GNU-koodausstandardit , nämä vaihtoehdot aiheuttavat välittömän, onnistuneen poistumisen.) -W -liina= kuolemaan johtava --lint= kuolemaan johtava Antakaa varoituksia epäilyttävistä tai ei-kannettavista rakenteista muihin AWK-toteutuksiin. Valinnainen argumentti kohtalokas, sävyvaroitukset tulevat kuolemaan. Tämä voi olla jyrkkä, mutta sen käyttö varmasti edistää puhtaampien AWK-ohjelmien kehittämistä. -W kyllä --lint vanha Anna varoituksia rakenteista, jotka eivät ole siirrettävissä Unixin alkuperäiseen versioon awk . -W gen-po --gen-po Skannaa ja jäsentää AWK-ohjelmaa ja luo GNU .po muotoinen tiedosto tavallisesta lähdöstä ja merkinnät kaikkiin ohjelmaan lokalisoitaviin merkkijonoihin. Ohjelmaa ei itse suoriteta. Katso GNU gettext jakelu lisätietoja .po tiedostot. -W ei desimaalitietoja --non-desimaalikantalukuja tiedot Tunnista oktaali- ja heksadesimaaliset arvot syöttötietoihin. Käytä tätä vaihtoehtoa erittäin varovasti! -W posix --posix Tämä käynnistyy yhteensopivuus tilassa seuraavilla rajoituksilla: * x poistumisjaksoja ei tunnisteta. * Vain tila ja välilehti toimivat kenttäerottimina, kun FS on asetettu yhteen tilaan, uusi rivi ei. * Et voi jatkaa viivoja sen jälkeen ? ja :. * Synonyymi func avainsanalle toimia ei tunnisteta. * Operaattorit ** ja **= ei voi käyttää sijasta ^ ja ^=. * fflush () toiminto ei ole käytettävissä. -W profiili= prof_file --profiili= prof_file Lähetä profiilitiedot osoitteeseen prof_file . Oletusasetus on awkprof.out. Kun ajetaan gawk , profiili on vain "melko painettu" versio ohjelmasta. Kun ajetaan pgawk , profiili sisältää ohjelman jokaisen lauseen suoritus- laskemat vasemmalla marginaalissa ja funktion puhelulaskut kullekin käyttäjän määrittelemälle toiminnolle. -W-aikaväli --re-intervalli Ota käyttöön aikavälin ilmaisuja säännöllisessä lausekkeessa (ks Säännölliset lausekkeet, alla). Intervallin ilmaisuja ei perinteisesti ollut saatavilla AWK-kielellä. POSIX-standardi lisäsi ne, tehdä awk ja egrep ovat keskenään yhdenmukaisia. Kuitenkin niiden käyttö todennäköisesti rikkoo vanhoja AWK-ohjelmia, joten gawk vain antaa heille, jos heitä pyydetään tällä vaihtoehdolla tai milloin --posix on määritelty. -W lähde ohjelma-text --lähde ohjelma-text Käyttää ohjelma-text AWK-ohjelmalähdekoodina. Tämä valinta mahdollistaa kirjastojen toimintojen helpon sekoittumisen (jota käytetään -f ja --file vaihtoehtoja), joiden lähdekoodi on syötetty komentoriville. Se on tarkoitettu lähinnä keskikokoisille ja suurille AWK-ohjelmille, joita käytetään komentosarjoissa. -W-versio --versio Tulostusversiotiedot tästä kopiosta gawk vakiotulosteesta. Tämä on hyödyllistä lähinnä tietäen, onko nykyinen kopio gawk järjestelmässäsi on ajan tasalla siitä riippumatta, mitä Free Software Foundation jakaa. Tämä on hyödyllistä myös virheiden ilmoittamisessa. (Per GNU-koodausstandardit , nämä vaihtoehdot aiheuttavat välittömän, onnistuneen poistumisen.) -- Merkitse vaihtoehtojen loppu. Tämä on hyödyllistä, jotta AWK-ohjelmalle voitaisiin antaa lisäkysymyksiä aloittaa "- -". Tämä on lähinnä johdonmukaisuutta useimpien muiden POSIX-ohjelmien käyttämien argumenttien jäsentämissopimusten kanssa. Yhteensopivuustilassa kaikki muut vaihtoehdot on merkitty virheellisiksi, mutta muuten niitä ei muuteta. Normaalikäytössä, kunhan ohjelmateksti on toimitettu, tuntemattomat vaihtoehdot siirretään AWK-ohjelmaan argv array käsittelyyn. Tämä on erityisen hyödyllinen AWK-ohjelmien suorittamisessa `` #! '' Suoritettavan tulkkimekanismin kautta. AWK-OHJELMAN TOTEUTUS AWK-ohjelma koostuu kuvio-toiminnan lausekkeista ja valinnaisista toimintamäärittelyistä. kuvio { toimintaan liittyviä lausuntoja }toimia nimi ( parametrien luettelo ) { lausuntoja }
gawk ensin lukee ohjelman lähteen ohjelma-tiedosto (t), jos ne on määritelty, argumentteista --lähde, tai ensimmäisen ei-option argumentin komentoriviltä. -f ja --lähde vaihtoehtoja voidaan käyttää useita kertoja komentorivillä. gawk lukee ohjelman tekstin ikään kuin kaikki ohjelma-tiedosto s ja komentorivin lähdetekstit oli yhdistetty yhteen. Tämä on hyödyllistä AWK-toimintojen kirjastojen rakentamiselle ilman, että niitä pitäisi sisällyttää jokaiseen uusiin AWK-ohjelmaan, joka käyttää niitä. Se tarjoaa myös mahdollisuuden yhdistää kirjaston toimintoja komentoriviin. Ympäristömuuttuja AWKPATH määrittää hakupolun, jota käytetään etsittäessä tiedostoja, joiden nimi on -f vaihtoehto. Jos tätä muuttujaa ei ole, oletuspolku on": / Usr / local / share / awk". (Todellinen hakemisto voi vaihdella riippuen siitä, miten gawk on luotu ja asennettu.) Jos tiedostonimi on annettu -f vaihtoehto sisältää `` / '' merkin, ei reittihakua suoriteta. gawk suorittaa AWK-ohjelmat seuraavassa järjestyksessä. Ensinnäkin kaikki muuttujat toimeksiannot määritelty kautta -v vaihtoehto suoritetaan. Seuraava, gawk kokoaa ohjelman sisäiseksi lomakkeeksi. Sitten, gawk suorittaa koodin ALKAA lohko (t) (jos sellainen on), ja jatkaa sitten lukea jokaisen tiedoston nimeltä argv array. Jos komentorivillä ei ole nimettyjä tiedostoja, gawk lukee standardin syötteen. Jos tiedostonimi komentorivillä on lomake var = Val sitä käsitellään muuttuvana tehtävänä. Muuttuja var annetaan arvo Val . (Tämä tapahtuu minkä tahansa jälkeen ALKAA lohko (t) on suoritettu.) Komentorivin muuttujan osoittaminen on eniten hyötyä arvojen dynaamiselle osoittamiselle muuttujille, joita AWK käyttää säätääkseen syötteen rikkoutumisen kenttiin ja tietueisiin. Se on myös hyödyllinen valvoa tilannetta, jos tarvitaan useita passteja yhden datatiedoston päälle. Jos tietyn elementin arvo on argv on tyhjä (''), gawk ohittaa sen. Jokaisesta tulosta, gawk testaa, onko se sopiva mihin tahansa kuvio AWK-ohjelmassa. Jokaisesta kuviosta, johon tietue vastaa, liittyy toiminta toteutetaan. Mallit testataan siinä järjestyksessä kuin ne esiintyvät ohjelmassa. Lopuksi, kun kaikki panos on käytetty loppuun, gawk suorittaa koodin END lohko (t) (jos sellainen on). AWK-muuttujat ovat dynaamisia; ne syntyvät, kun niitä käytetään ensin. Niiden arvot ovat joko kelluvia pisteitä tai merkkijonoja tai molempia riippuen siitä, miten niitä käytetään. AWK: llä on myös yksiulotteiset matriisit; monimuotoisia ryhmiä voidaan simuloida. Ohjelmassa on useita ennalta määritettyjä muuttujia; näitä kuvataan tarpeen mukaan ja tiivistetään alla. Normaalisti tietueet erotetaan uudella rivillä. Voit hallita, miten tietueet erotetaan antamalla arvot sisäänrakennetulle muuttujalle RS. Jos RS on jokin yksittäinen merkki, joka erottaa tietueet. Muuten, RS on säännöllinen lauseke. Teksti, joka vastaa tätä säännöllistä lauseketta, erottaa tietueen. Yhteensopivuustilassa kuitenkin vain sen merkkijonon ensimmäistä merkkiä käytetään tietueiden erottamiseen. Jos RS on asetettu nollarimerkiksi, jolloin tiedot erotetaan tyhjillä viivoilla. Kun RS on asetettu nollarangaistukseksi, uusiline-merkki toimii aina kenttäerottimena minkä tahansa arvon lisäksi FS voi olla. Kun jokainen tallennustietue luetaan, gawk jakaa tietueen sisään kenttiä , käyttäen arvoa FS muuttuja kentänerottimena. Jos FS on yksittäinen merkki, kentät erotetaan kyseisellä merkillä. Jos FS on null merkkijono, niin jokainen yksittäinen merkki muuttuu erilliseksi kenttään. Muuten, FS odotetaan olevan täysi säännöllinen lauseke. Erityistapauksessa se FS on yksittäinen tila, kentät erotetaan välilyönnillä ja / tai välilehdillä ja / tai uudella rivillä. (Katso kuitenkin keskustelua --posix, alla). HUOMAUTUS: Arvo ignorecase (katso alla) vaikuttaa myös siihen, miten kentät jaetaan FS on säännöllinen lauseke ja miten tietueet erotellaan milloin RS on säännöllinen lauseke. Jos FIELDWIDTHS muuttuja asetetaan välilyöntiyhdistelmäluetteloon, jokaisella kentällä odotetaan olevan kiinteä leveys ja gawk jakaa tietueen käyttäen määritettyjä leveyksiä. Arvo FS jätetään huomiotta. Uuden arvon määrittäminen kohteeseen FS ohittaa käytön FIELDWIDTHS, ja palauttaa oletustoiminnon. Jokaisen syöttötietueen kenttään voidaan viitata sen sijainti, $1, $2, ja niin edelleen. $0 on koko ennätys. Kenttien ei tarvitse viitata vakioihin: n = 5tulosta $ n tulostaa syötetyn tietueen viidennen kentän. Muuttuja NF on asetettu syöttötietueen kenttien kokonaismäärään. Viittaukset ei-olemassa oleviin kenttiin (eli kenttiin jälkeen $ NF) tuottavat nollarangaistuksen. Kuitenkin osoittamalla olematon kenttä (esim. $ (NF + 2) = 5) lisää arvoa NF, luo puuttuvat kentät, joissa null merkkijono on niiden arvo, ja aiheuttaa arvon $0 on yhdistettävä uudelleen, kun kentät on erotettu arvolla OFS. Viittaukset negatiivisiin numeroitaviin kenttiin aiheuttavat kohtalokkaan virheen. pienentämällä NF aiheuttaa uusien arvojen ohittamien kenttien arvojen menettämisen ja arvon $0 on yhdistettävä uudelleen, kun kentät on erotettu arvolla OFS. Arvon määrittäminen olemassa olevaan kenttään saa koko tietueen uudelleen, kun $0 viitataan. Samoin arvo määritetään arvoon $0 aiheuttaa tietueen tallentamisen ja luo kentille uusia arvoja. gawk Sisäänrakennetut muuttujat ovat: argc Komentorivin argumenttien määrä (ei sisällä vaihtoehtoja gawk , tai ohjelmalähde). ARGIND Indeksi argv nykyisestä tiedostosta. argv Komentorivin argumenttien sarja. Taulukko on indeksoitu 0: sta argc - 1. Dynaamisesti muuttaminen argv voi hallita tiedostoihin käytettyjä tietoja. BINMODE Muissa kuin POSIX-järjestel- missä määritetään kaikkien binääri-tilan käyttö kaikkiin I / O-tiedostoihin. Numeron 1, 2 tai 3 numeeriset arvot määrittävät, että syöttötiedostot, tulostustiedostot tai kaikki tiedostot käyttävät binääristä I / O: ta. Stringin arvot "R", tai "W" määritä, että syöttötiedostojen tai tulostustiedostojen tulee käyttää binääristä I / O: ta. Stringin arvot "Rw" tai "Wr" määritä, että kaikkien tiedostojen on käytettävä binääristä I / O-tiedostoa. Jokin muu merkkijonoarvo käsitellään nimellä "Rw", mutta luo varoitusviestin. CONVFMT Muunnosmuoto numeroille, "% .6g", oletuksena. ENVIRON Joukko, joka sisältää nykyisen ympäristön arvot. Joukko indeksoidaan ympäristömuuttujilla, jolloin kukin elementti on kyseisen muuttujan arvo (esim.ENVIRON "HOME" voi olla / Home / Arnold). Tämän taulukon muuttaminen ei vaikuta sellaisten ohjelmien ympäristöön, jotka gawk kutu uudelleenohjauksen tai järjestelmä ()toimia. errno Jos järjestelmävirhe sattuu tekemään uudelleenohjauksen getline, lukemisen aikana getline, tai a kiinni(), sitten errno sisältää merkkijonon, joka kuvaa virheen. Arvoa voidaan kääntää muilla kuin englanninkielisillä alueilla. FIELDWIDTHS Valkotilasta erotettu luettelo kenttäleveydestä. Kun asetettu, gawk analysoi syötteen kiinteän leveyden aloihin sen sijaan, että käytät arvoa FS muuttuja kentänerottimena. TIEDOSTON NIMI Nykyisen syöttötiedoston nimi.Jos komentoriville ei ole määritetty tiedostoja, arvo on TIEDOSTON NIMI on `` - ''. Kuitenkin, TIEDOSTON NIMI on määrittelemätön sisällä ALKAA lohko (ellei asetettu getline). FNR Syötetyn tietueen numero nykyisessä syöttötiedostossa. FS Syöttökentän erotin, oletusarvoinen tila. nähdä Fields, yllä. ignorecase Säätää kaikkien säännöllisten lausekkeiden ja merkkijono-operaatioiden herkkyyden. Jos ignorecase on nollasta poikkeava arvo, sitten merkkijonon vertailu ja kuvion sovitus sääntöihin, kenttäjakaminen FS, rekisteri erotetaan RS, säännöllinen lauseke matching kanssa ~ja !~, ja gensub (), gsub (), indeksi(), ottelu(), jakaa(), ja sub() sisäänrakennetut toiminnot eivät huomioi tapausta säännöllisinä ilmaisuoperaatioina. HUOMAUTUS: Array-alaindeksi on ei ei ole eräänlainen() toimia. Siten, jos ignorecase ei ole nolla, / AB / vastaa kaikkia merkkijonoja "AB", "AB","AB", ja "AB". Kuten kaikkien AWK - muuttujien kohdalla, ignorecase on nolla, joten kaikki säännölliset lausekkeet ja merkkijonooperaatiot ovat yleensä dynaamisia. Unixissa käytetään koko ISO 8859-1 Latin-1 -merkkisarjaa, kun jätetään huomiotta asia. LINT Tarjoaa dynaamisen ohjauksen --lint vaihtoehto AWK-ohjelmasta. Kun totta, gawk tulostaa sateenvaroituksia. Jos se on väärä, se ei ole. Kun määritetään merkkijonon arvo "Kohtalokas", sävyvaroitukset tulevat kuolemaan, aivan kuten --lint = kuolemaan johtava. Jokainen muu todellinen arvo vain tulostaa varoitukset. NF Nykyisten syöttötietojen kenttien määrä. NR Tähän mennessä näkyvien syöttötietueiden kokonaismäärä. OFMT Numeroiden, "% .6g", oletuksena. OFS Lähtökentän erotin, oletusarvoinen tila. ORS Output record separator, oletusarvoisesti uusi rivin. PROCINFO Tämän taulukon elementit tarjoavat mahdollisuuden saada tietoja käynnissä olevasta AWK-ohjelmasta. Joissakin järjestelmissä array voi olla elementtejä, "Ryhmä1" kautta "ryhmä n ' joillekin n , joka on prosessin lisäryhmien määrä. Käytä sisään operaattori testaa näitä elementtejä. Seuraavat tekijät ovat taatusti saatavilla: PROCINFO "egid" arvo getegid (2) järjestelmäpuhelu. PROCINFO "euid" arvo geteuid (2) järjestelmäpuhelu. PROCINFO "FS" "FS" jos kenttäjakaminen tapahtuu FS on voimassa tai "FIELDWIDTHS" jos kenttäjakaminen tapahtuu FIELDWIDTHS on voimassa. PROCINFO "GID" arvo getgid (2) järjestelmäpuhelu. PROCINFO "pgrpid" nykyisen prosessin prosessiryhmän tunnus. PROCINFO "pid" prosessin prosessin tunnus. PROCINFO "ppid" nykyisen prosessin vanhemman prosessin tunnuksen. PROCINFO "uid" arvo getuid (2) järjestelmäpuhelu. RS Tulotiedon erotin oletuksena uusi rivin. RT Tietueen päätelaite. gawk setit RT syötettyyn tekstiin, joka sopi yhteen määritetyn merkin tai säännöllisen lausekkeen kanssa RS. RSTART Ensimmäisen merkin indeksi, johon on sovitettu ottelu(); 0, jos ei ole ottelua. (Tämä tarkoittaa sitä, että merkkiindeksit alkavat yhdellä.) RLENGTH Merkkijonon pituus vastaa ottelu(); -1, jos ei ole ottelua. SUBSEP Merkki, jota käytetään useiden indekseiden erottamiseen taulukkoelementeissä, oletuksena ' 034'. TEKSTIALA AWK-ohjelman tekstitiedosto; käytetään paikallisten käännösten löytämiseen ohjelman jonoille. Taulukot on merkitty hakasulkeilla ( ja ). Jos lauseke on ilmaisuluettelo ( expr , expr …), taulukon alaindeksi on merkkijono, joka koostuu kunkin ilmentymän (merkkijono) arvon ketjusta, erotettuna arvoilla SUBSEP muuttuja. Tätä toimintoa käytetään simuloimaan moninkertaistettuja matriiseja. Esimerkiksi: i = "A"; j = "B"; k = "C"x i, j, k = "hello, maailma n" määrittää merkkijonon "hello, world n" ryhmään x joka on merkkijono"A 034B 034C". Kaikki AWK: n ryhmät ovat assosiatiivisia, ts. Indeksoituja merkkijonoarvoilla. Erityinen toimija sisään voidaan käyttää jos tai sillä aikaa lausekkeesta nähdäksesi, onko taulukossa indeksi, joka koostuu tietystä arvosta. jos (val in array) tulosta array val Jos taulukossa on useita alaindeksit, käytä sitä (i, j). sisään konstrukti voidaan myös käyttää a varten silmukan iteroimiseksi kaikkien array-elementtien yli. Elementti voidaan poistaa taulukosta käyttäen poistaa lausuma. poistaa lausetta voidaan käyttää myös koko ryhmän sisällön poistamiseen vain määrittämällä taulukon nimi ilman alaindeksiä. Muuttujat ja kentät voivat olla (floating point) numeroita tai merkkijonoja tai molempia. Kuinka muuttujan arvo tulkitaan riippuu sen kontekstista. Jos sitä käytetään numeerisessa lausekkeessa, sitä käsitellään numerona, jos sitä käytetään merkkijonona, sitä käsitellään merkkijonona. Jotta pakottaisi muuttujan, jota hoidettaisiin numerona, lisää 0 siihen; pakottaa sen käsittelemään merkkijonona, ketjuttaa se nollarilla. Kun merkkijono on muunnettava numeroiksi, tulos on suoritettava käyttäen strtod (3). Numero muunnetaan merkkijonoksi käyttämällä arvoa CONVFMT muodossa merkkijonona sprintf (3), jossa muuttujan numeerinen arvo on argumentti. Vaikka kaikki numerot AWK: ssa ovat kelluva piste, integraaliset arvot ovat aina muunnetaan kokonaislukuina. Näin ollen annettu CONVFMT = "% 2.2f" a = 12 b = a "" muuttuja b on merkkijonon arvo '12' ja ei '12.00'. gawk tekee vertailuja seuraavasti: Jos kaksi muuttujaa on numeerinen, niitä verrataan numeerisesti. Jos jokin arvo on numeerinen ja toinen on merkkijonon arvo, joka on `` numeerinen merkkijono '', vertailut tehdään myös numeerisesti. Muussa tapauksessa numeerinen arvo muunnetaan merkkijonoksi ja suoritetaan merkkijonon vertailu. Kaksi merkkijonoa verrataan tietenkin merkkijonoina. Huomaa, että POSIX-standardi käyttää "numeerisen merkkijonon" käsitettä kaikkialla, myös merkkijonoihin. Tämä on kuitenkin selvästi väärä ja gawk ei tee tätä. (Onneksi tämä on vahvistettu standardin seuraavassa versiossa.) Huomaa, että merkkijonon vakioita, kuten '57', ovat ei numeerisia merkkijonoja, ne ovat merkkijonoja. Ajatus `` numeerisesta merkkijono '' koskee vain kenttiä, getline syöttö, TIEDOSTON NIMI, argv elementtejä, ENVIRON elementit ja elementit, jotka luodaan taulukosta jakaa() jotka ovat numeerisia merkkijonoja. Perusajatus on se käyttäjän syöttö , ja vain numeerista näyttöä vastaava käyttäjän panos tulisi kohdella tällä tavoin. Alusttamattomilla muuttujilla on numeerinen arvo 0 ja merkkijonon arvo "" (nolla tai tyhjä merkkijono). Alkaen versio 3.1 of gawk, voit käyttää C-tyylisiä oktaali- ja heksadesimaalisia vakiot AWK-ohjelmalähdekoodissasi. Esimerkiksi oktaaliarvo 011 on yhtä kuin desimaali 9, ja heksadesimaaliarvo 0x11 on yhtä suuri kuin desimaali 17. AWK: n vakiovakiot ovat kaksoissidosten välissä olevia merkkejä ('). Tietyissä merkkijonoissa paeta sekvenssejä tunnistetaan, kuten kohdassa C. Nämä ovat: \ Kirjaimellinen vastakkain. "Hälytys" -merkki; yleensä ASCII BEL -merkki. b askelpalautinta. f lomake-syötteeseen. n uusi rivi. r kuljettaja palaa. t vaakasuora välilehti. v pystysuora välilehti. x hex-numeroita Merkki, jota heksadesimaalilukujen merkkijono edustaa x. Kuten ANSIC: ssä, kaikki seuraavat heksadesimaaliluvut katsotaan osaksi poistumissekvenssiä. (Tämän ominaisuuden pitäisi kertoa meille jotain komitean kielen suunnittelusta.) Esimerkiksi, " X1B" on ASCIIESC (escape) -merkki. DDD Merkki, jota edustavat 1-, 2- tai 3-numeroinen oktaalinumeroiden sekvenssi. Esimerkiksi., ' 033' on ASCII ESC (escape) -merkki. C Kirjaimellinen merkki C . Poistumissekvenssejä voidaan käyttää myös vakion säännöllisissä lausekkeissa (esim./ t f n r v / vastaa välilyöntihahmoja). Yhteensopivuustilanteessa oktaali- ja heksadesimaalisten poistosekvenssien merkkejä käsitellään kirjaimellisesti, kun niitä käytetään säännöllisissä lausekkeissa. Täten, / A 52b / vastaa/ A * b /. AWK on linja-suuntainen kieli. Kuvio tulee ensin ja sitten toiminta. Toimintakertomukset on liitetty tähän { ja }. Joko kuvio puuttuu tai toiminto puuttuu, mutta tietenkään ei molempia. Jos kuvio puuttuu, toimenpide suoritetaan jokaisesta tietueesta. Tappava toimi vastaa { Tulosta } joka tulostaa koko tietueen. Kommentit alkavat `` # '' merkillä ja jatkuu rivin loppuun asti. Tyhjiä viivoja voidaan käyttää erottamaan lausunnot. Normaalisti lausuma päättyy uudella rivillä, mutta tämä ei tapahdu rivit, jotka päättyvät ``, '', {, ?, :, &&, tai ||. Linjat päättyvät sisään tehdä tai muu myös heidän lausuntonsa jatkuvat automaattisesti seuraavalla rivillä. Muissa tapauksissa linjaa voidaan jatkaa lopettamalla se ", jolloin uusi rivi jätetään huomiotta. Useita lausumia voidaan laittaa yhdelle riville erottamalla ne ``; ''. Tämä pätee molempien mallioikeusparin toimintaosan lausekkeisiin (tavalliseen tapaukseen) ja itse toimintamalleihin. AWK-mallit voivat olla jokin seuraavista: ALKAA END / tavallinen ilme / relaation ilmaisu kuvio && kuvio kuvio || kuvio kuvio ? kuvio : kuvio ( kuvio ) ! kuvio Pattern1 , ehto2 ALKAA ja END ovat kahta erikoismallia, joita ei testata tuloa vastaan. Kaikki toimintaosat ALKAA mallit yhdistyvät ikään kuin kaikki lausunnot olisi kirjoitettu yhteen ALKAA lohko. Ne suoritetaan ennen kuin jokin tuloista luetaan. Samoin kaikki END lohkot sulautuvat ja toteutetaan, kun kaikki syötteet ovat loppuneet (tai kun poistuminen ilmoitus suoritetaan). ALKAA ja END kuviota ei voida yhdistää kuvion ilmaisujen muihin kuvioihin. ALKAA ja END kuvioissa ei voi olla puuttuvia toimintaosia. varten / tavallinen ilme / kuviot, niihin liittyvä lausunto suoritetaan kullekin syötetietueelle, joka vastaa säännöllistä lauseketta. Säännölliset lausekkeet ovat samat kuin ne egrep (1), ja ne esitetään seuraavassa. relaation ilmaisu voi käyttää jotain seuraavista toimijoista toimintaa koskevassa osassa. Nämä yleensä testaavat, vastaavatko tietyt kentät tiettyjä säännöllisiä lausekkeita. &&, ||, ja ! operaattorit ovat loogisia JA, looginen OR ja looginen NOT vastaavasti kuin C: ssä. Ne tekevät myös oikosulkuarvion, kuten myös C: ssä, ja niitä käytetään useampien primitiivisten kuvio-ilmaisujen yhdistämiseen. Kuten useimmilla kielillä, sulkeissa voidaan käyttää arvioinnin järjestystä. ?: operaattori on kuin sama operaattori C: ssä. Jos ensimmäinen kuvio on totta, testattava malli on toinen kuvio, muuten se on kolmas. Vain toinen toisesta ja kolmannesta mallista arvioidaan. Pattern1 , ehto2 ilmaisumuotoa kutsutaan a alue kuvio . Se vastaa kaikkia syöttötietueita, jotka alkavat rekisteristä, joka vastaa Pattern1 , ja jatkaa kunnes vastaava tietue ehto2 , mukaan lukien. Se ei yhdy mihinkään muuhun kuvion ilmaisuun. Säännölliset lausekkeet ovat laajennettuja egrep . Ne koostuvat seuraavista merkkeistä: C vastaa ei-metakarakteria C . c vastaa kirjaimellista luonnetta C . . vastaa mitä tahansa merkkiä mukaan lukien uusi rivi. ^ vastaa merkkijonon alkua. $ vastaa merkkijonon loppua. ABC … merkkilista, vastaa mitä tahansa merkkiä ABC … . ^ ABC … negatiivinen merkkilista, vastaa mitä tahansa merkkiä paitsi ABC … . R1 | r2 vuorottelu: vastaa joko R1 tai r2 . R1R2 ketjuttaminen: ottelut R1 , ja sitten r2 . R + vastaa yhtä tai useampaa R N. R * vastaa nollaa tai enemmän R N. R ? vastaa nollaa tai yhtä R N. ( R ) ryhmittely: ottelut R . R { n } R { n ,} R { n , m } Yksi tai kaksi numeroa rintareunoissa merkitsee aikavälin ilmentyminen . Jos merkinnöissä on yksi numero, edellinen säännöllinen lauseke R toistetaan n ajat. Jos kaksi numeroa on erotettu pilkulla, R toistetaan n että m ajat. Jos on yksi numero, jota seuraa pilkku, sitten R toistetaan ainakin n ajat. Aikavälin lausekkeet ovat käytettävissä vain, jos jompikumpi --posix tai --re-intervalli on määritetty komentoriville. y vastaa tyhjä merkkijono joko sanan alussa tai lopussa. B täsmää sanan tyhjä merkkijono. < vastaa tyhjä merkkijono sanan alussa. > vastaa tyhjää merkkijonoa sanan lopussa. w vastaa mitä tahansa sanaosaan perustuvaa luonnetta (kirjainta, numeroa tai alaviivaa). W vastaa mitä tahansa merkkiä, joka ei ole sana-ainesosa. ` vastaa tyhjää merkkijonoa puskurin alussa (merkkijono). ' vastaa puskurin lopussa olevaa tyhjää merkkijonoa. Jousikvantteihin pätevät pakotusjaksot (katso alla) ovat myös voimassa säännöllisissä lausekkeissa. Merkkiluokat ovat POSIX-standardin uusi ominaisuus. Merkkiluokka on erikoismerkki, jossa kuvataan merkkien luetteloita, joilla on tietty attribuutti, mutta joissa todelliset merkit voivat itse vaihdella maittain ja / tai merkistöstä merkkijonoon. Esimerkiksi aakkosten merkitys eroaa Yhdysvalloissa ja Ranskassa. Hahmoluokka on voimassa vain säännöllisessä lausekkeessa sisällä merkkiluettelon suluissa. Merkkijoukot koostuvat :luokan avainsana, ja :. POSIX-standardin määrittelemät luokat ovat: : Alnum: Alfanumeeriset merkit. : A: Aakkosmerkkejä. :tyhjä: Välilyönti- tai välilehdet. : Cntrl: Ohjausmerkit. : Numero: Numeeriset merkit. : Graph: Hahmot, jotka ovat sekä tulosteita että näkyviä. (Tila on tulostettavissa, mutta ei näkyvissä, kun taas on molemmat.) :alempi: Pienet kirjaimet. :Tulosta: Tulostettavia merkkejä (merkkejä, jotka eivät ole kontrollimerkkejä). : Punct: Välimerkit (merkit, jotka eivät ole kirjaimia, numeroita, ohjaussymboleja tai välilyöntejä). : Space: Välilyöntejä (kuten tilaa, välilehteä ja muotoilmoitusta, muutamia nimikkeitä). : Ylempi: Suurikokoiset aakkoset. : Xdigit: Merkit, jotka ovat heksadesimaalisia numeroita. Esimerkiksi ennen POSIX-standardia aakkosnumeeristen merkkien vastaamiseksi sinun olisi pitänyt kirjoittaa / A-Za-z0-9 /. Jos hahmoluettelossasi oli muita aakkosjärjestöjä, se ei olisi niiden mukaista, ja jos hahmosi joukko on erilainen kuin ASCII, tämä ei välttämättä vastaa ASCII-aakkosnumeerisia merkkejä. POSIX-merkkiluokkien avulla voit kirjoittaa/ : Alnum: /, ja tämä vastaa merkkijonoosi aakkosja ja numeerisia merkkejä. Hahmoluetteloissa voi näkyä kaksi muuta erityistä sekvenssiä. Nämä koskevat ei-ASCII-merkistöjä, joilla voi olla yksittäisiä symboleja (ns kokoavat elementit ), jotka on merkitty useammalla kuin yhdellä merkillä, sekä useita merkkejä, jotka vastaavat lajittelu , tai lajittelu, tarkoituksiin. (Esimerkiksi ranskaksi, tavallinen "e" ja vakavasti painollinen e "ovat vastaavia.) Järjestä symbolit Kokoontumissymboli on monimerkkikokoelementti, joka on suljettu . ja .. Esimerkiksi, jos ch on sitten kokoava elementti .Ch. on säännöllinen lauseke, joka vastaa tätä kokoamista elementtiä, kun taas Ch on säännöllinen lauseke, joka vastaa yhtä C tai h. Vastaavuusluokat Vastaavuusluokka on locale-spesifinen nimi, joka sisältää samanarvoisia merkkejä. Nimi on suljettu = ja =. Esimerkiksi nimi e voidaan käyttää edustamaan kaikkia "e", "" e "", "" ja "e". " = E = on säännöllinen lauseke, joka vastaa jotain e, e', tai e`. Nämä ominaisuudet ovat erittäin arvokkaita ei-englanninkielisessä paikassa. Kirjasto toimii näin gawk säännöllisen lausekkeen sovittaminen käyttää tällä hetkellä vain POSIX-merkkiluokkia; he eivät tunnista symbolien tai vastaavuusluokkien lajittelua. y, B, <, >, w, W, `, ja ' toimijat ovat erityisiä gawk ; ne ovat laajennuksia, jotka perustuvat GNU: n säännöllisen lausekirjaston kirjastoihin. Eri komentorivivalitsimet ohjaavat miten gawk tulkitsee hahmoja säännöllisissä lausekkeissa. Ei vaihtoehtoja Oletusarvona, gawk tarjota kaikille POSIX-säännöllisiä lausekkeita ja edellä kuvattuja GNU-säännöllisiä ilmaisutoimintoja. Välilyöntiä ei kuitenkaan tueta. --posix Vain POSIX-säännöllisiä lausekkeita tuetaan, GNU-operaattorit eivät ole erityisiä. (Esimerkiksi., w vastaa kirjaimellista w). Intervallin ilmaisut ovat sallittuja. --traditional Perinteinen Unix awk säännölliset lausekkeet sovitetaan yhteen. GNU-operaattorit eivät ole erityisiä, aikavälien ilmaisuja ei ole saatavilla, eivätkä ne ole POSIX-merkkiluokkia (: Alnum: ja niin edelleen). Oktaali- ja heksadesimaalisissa poistumissekvensseissä kuvattuja merkkejä käsitellään kirjaimellisesti, vaikka ne edustavat säännöllisesti ilmaistuvia metakaraktereja. --re-intervalli Salli aikavälien ilmaukset säännöllisissä lausekkeissa, vaikka --traditional on annettu. Toimintoselosteet on suljettu kahteen osaan, { ja }. Toimintoselosteet koostuvat useimmilla kielillä esiintyvistä tavanomaisista toimeksianto-, ehdollis- ja looping-lauselmista. Käytettävät operaattorit, hallintalausekkeet ja käytettävissä olevat tulo- / lähtösanomat kuvioidaan sen jälkeen, kun ne ovat C. AWK: n operaattorit vähentävät ensisijaisuuttaan (…) ryhmittymä $ Kentän viite. ++ -- Lisäys ja vähennys, sekä etuliite että postfix. ^ Eksponentiointi (** voidaan myös käyttää, ja **= toimeksiantajaoperaattorille). + - ! Unary plus, unary minus ja looginen negaatio. * / % Kertominen, jako ja moduuli. + - Yhteen-ja vähennyslasku. tila String ketjuttaminen. < > <= >= != == Säännölliset suhteelliset operaattorit. ~ !~ Säännöllinen lausekkeiden sovitus, negatiivinen ottelu. HUOMAUTUS: Älä käytä säännöllistä säännöllistä lauseketta (/ Foo /) vasemmalla puolella ~ tai !~. Käytä vain yhtä oikealla puolella. Ilmaisu / foo / ~ exp on sama merkitys kuin (($ 0 ~ / foo /) ~ exp ). Tämä on yleensä ei mitä oli tarkoitus. sisään Array-jäsenyys. && Looginen AND. || Looginen OR. ?: C-ehdollinen lauseke. Tämä on muotoa expr1 ? Laus2 : expr3 . Jos expr1 on totta, lausekkeen arvo on Laus2 , muuten se on expr3 . Vain yksi Laus2 ja expr3 arvioidaan. = += -= *= /= %= ^= Tehtävä. Sekä absoluuttinen tehtävä ( var = arvo ) ja operaattorin määrittäminen (muut muodot) tuetaan. Tarkastuslausumat ovat seuraavat: jos ( kunto ) selvitys muu selvitys sillä aikaa ( kunto ) selvitys tehdä selvitys sillä aikaa ( kunto ) ( expr1 ; Laus2 ; expr3 ) selvitys ( var sisään ryhmä ) selvitys tauko jatkaa poistaa ryhmä indeksi poistaa ryhmä poistuminen ilmaisu { lausuntoja } Tulo / lähtö-lausunnot ovat seuraavat: kiinni( tiedosto , millä tavalla ) Sulje tiedosto, putki tai rinnakkaisprosessi. Valinnainen millä tavalla tulisi käyttää vain sulkemalla kaksisuuntaisen putken toinen pää yhteisprosessiin. Sen täytyy myös olla merkkijonoarvo "Ja" tai "Alkaen". getline Sarja $0 seuraavasta syöttötiedostosta; sarja NF, NR, FNR. getline < tiedosto Sarja $0 seuraavasta rekisteristä tiedosto ; sarja NF. getline var Sarja var seuraavasta syöttötiedostosta; sarja NR, FNR. getline var < tiedosto Sarja var seuraavasta rekisteristä tiedosto . komento | getline var Juosta komento tulosta joko putkiin $0 tai var , kuten edellä. komento | & getline var Juosta komento kuin rinnakkaisprosessin putkisto tuotoksen joko osaksi $0 tai var , kuten edellä. Yhteisprosessit ovat a gawk laajennus. Seuraava Lopeta nykyisen syöttötietueen käsittely. Seuraava tulosignaali luetaan ja käsittely alkaa AWK-ohjelman ensimmäisellä kuvioinnilla. Jos tulodatan loppu on saavutettu, END jos sellainen on, toteutetaan. nextfile Lopeta nykyisen tulotiedoston käsittely. Seuraava tulosignaalin luku tulee seuraavasta syöttötiedostosta. TIEDOSTON NIMI ja ARGIND päivitetään, FNR nollautuu arvoon 1 ja käsittely alkaa AWK-ohjelman ensimmäisellä kuvioinnilla. Jos tulodatan loppu on saavutettu, END jos sellainen on, toteutetaan. Tulosta Tulostaa nykyisen tietueen. Lähtötietue päätetään arvolla ORS muuttuja. Tulosta expr-lista Tulostaa lausekkeita. Jokainen ilmaus on erotettu arvolla OFS muuttuja. Lähtötietue päätetään arvolla ORS muuttuja. Tulosta expr-lista > tiedosto Tulostaa lausekkeet tiedosto . Jokainen ilmaus on erotettu arvolla OFS muuttuja. Lähtötietue päätetään arvolla ORS muuttuja. printf fmt, expr-list Muotoile ja tulosta. printf fmt, expr-list > tiedosto Alusta ja tulosta tiedosto . järjestelmä ( cmd-line ) Suorita komento cmd-line , ja palauttaa poistumistilan. (Tämä ei välttämättä ole saatavilla muissa kuin POSIX-järjestelmissä.) fflush ( tiedosto ) Huuhtele kaikki avoimen tulostustiedoston tai -putken yhteydessä olevat puskurit tiedosto . Jos tiedosto puuttuu, sitten vakiotuloste huuhdellaan. Jos tiedosto on null merkkijono, niin kaikki avoimet ulostulotiedostot ja -putket puskuroivat. Lisätuoton uudelleenohjaukset sallitaan Tulosta ja printf. tulosta … >> tiedosto lisää tuotantoa tiedosto . tulosta … | komento kirjoittaa putkeen. tulosta … | & komento lähettää tietoja rinnakkaisprosessiin. getline komento palauttaa tiedoston loppuun 0 ja -1 virheen. Virheessä, errno sisältää ongelman kuvaavan merkkijonon. HUOMAUTUS: Jos käytät putkea tai rinnakkaisprosessia getline, tai vuodesta Tulosta tai printf silmukan sisällä, sinä on pakko käyttää kiinni() luoda uusia käskykomentoja. AWK ei automaattisesti sulje putkia tai rinnakkaisprosesseja, kun ne palauttavat EOF: n. AWK: n versiot printf lausunto ja sprintf () (katso alla) hyväksyä seuraavat konversiospesifikaatiomuodot: % C ASCII-merkki. Jos argumenttia käytetään % C on numeerinen, sitä käsitellään merkkinä ja tulostetaan. Muuten argumentin oletetaan olevan merkkijono, ja sen merkkijonon ainoa ensimmäinen merkki tulostuu. % d, % i Desimaaliluku (kokonaisluku). % e,% E Lomakkeen kelluva piste - d.dddddde + - dd. % E muodossa E sijasta e. % f Lomakkeen kelluva piste - ddd.dddddd. % g,% G Käyttää % e tai % f mikä on lyhyempi, ja merkityksetön nollat tukahdutetaan.% G muodossa % E sijasta % e. % O Unsigned oktaalinumero (myös kokonaisluku). % u Allekirjoittamaton desimaaliluku (jälleen, kokonaisluku). % s Merkkijono. % x,% X Merkitsemätön heksadesimaaliluku (kokonaisluku). % X muodossa A B C D E F sijastaA B C D E F. %% Sinkku % merkki; mitään argumenttia ei muuteta. Lisävarusteena voi olla lisäparametreja % ja kontrollikirje: Kreivi $ Käytä Kreivi 'argumentti tässä vaiheessa muotoilussa. Tätä kutsutaan a paikkaspesifikaattori ja se on tarkoitettu pääasiassa käytettäväksi muunnettujen merkkijonojen käännetyssä versiossa, ei AWK-ohjelman alkuperäisessä tekstissä. Se on a gawk laajennus. - Ilmaisun olisi oltava oikeutettu alan sisällä. tila Numeerisissa tuloksissa etuliite positiivisia arvoja, joissa on tilaa ja negatiivisia arvoja miinusmerkillä. + Ennen leveysmodifioijaa (ks. Alla) käytetyn plus-merkin ansiosta aina annetaan merkkejä numeerisille tuloksille, vaikka muotoiltava tieto olisi positiivinen. + ohittaa tilaa muokkaajan. # Käytä "` vaihtoehtoista lomaketta '' tietyille kontrollikirjeille. varten % O, toimittavat johtavan nollan. varten % x, ja % X, toimittaa johtavan 0x tai 0X ei-tulos. varten % e, % E, ja % f, tulos sisältää aina desimaalipisteen. varten % g, ja % G, jäljellä olevia nollia ei poisteta tuloksesta. 0 Johtava 0 (nolla) toimii lippuna, joka ilmaisee, että ulostulo on pehmustettava nollilla tilojen sijaan. Tämä koskee myös ei-numeerisia tulostusformaatteja. Tällä merkinnällä on vain vaikutus, kun kentän leveys on laajempi kuin tulostettava arvo. leveys Kenttä on pehmustettava tähän leveyteen. Kenttä on tavallisesti pehmustettu välilyönnillä. Jos 0lippua on käytetty, se on pehmustettu nollilla. . pREC Numero, joka määrittää tulostuksen tarkkuuden. Varten % e, % E, ja % f-muodot, tämä määrittää desimaalipisteen oikealle puolelle halutut numerot. Varten % g, ja % G formaatteja, siinä määritetään merkitsevien numeroiden enimmäismäärä. Varten % d, % O, % i, % u, % x, ja % X formaatteja, se määrittää vähimmäismäärän tulostettavia numeroita. varten % s, se määrittää merkkijonoa, jonka pitäisi olla painettu. Dynaaminen leveys ja pREC ANSI C: n ominaisuudet printf () rutiineja tuetaan. * sijaan joko leveys tai pREC määritykset antavat arvojen ottamisen argumenttiluettelosta kohteeseen printf tai sprintf (). Jos haluat käyttää dynaamisen leveyden tai tarkkuuden sijainninmäärittelijää, syötä Kreivi $ jälkeen * muodossa merkkijonossa. Esimerkiksi, "% 3 $ * 2 $. * 1 $ s". Kun teet I / O-uudelleenohjauksen kummastakin Tulosta tai printf tiedostoon tai kautta getline tiedostosta, gawk tunnistaa tiettyjä erityisiä tiedostonimiä sisäisesti. Nämä tiedostonimet mahdollistavat pääsyn avoimiin tiedostojen kuvaajiin, jotka on peritty gawk (yleensä kuori). Näitä tiedostonimiä voidaan myös käyttää komentorivillä nimitiedostojen nimeämiseksi. Tiedostonimet ovat: / Dev / stdin Vakiotulo. / Dev / stdout Vakiotuloste. / Dev / stderr Vakiovirheen lähtö. / Dev / fd / n Avoimeen tiedostojen kuvaajaan liittyvä tiedosto n . Nämä ovat erityisen hyödyllisiä virheviesteissä. Esimerkiksi: tulosta "Te puhalitte!" > "/ dev / stderr" kun muuten sinun pitäisi käyttää tulosta "Te puhalitte!" | "cat 1> & 2" Seuraavia erityisiä tiedostonimiä voidaan käyttää |& Yhteisprosessointioperaattori TCP / IP-verkkoyhteyksien luomiseksi. / Inet / tcp / lport / rhost / rport Tiedosto TCP / IP-yhteydelle paikallisessa portissa lport etäisännälle rhost etäisännässä rport . Käytä satamaa 0 järjestelmä ottaa vastaan portin. / Inet / UDP / lport / rhost / rport Vastaavasti, mutta käytä UDP / IP TCP / IP: n sijaan. / Inet / raaka / lport / rhost / rport Varattu tulevaa käyttöä varten. Muut erityiset tiedostonimet antavat käyttöön tietoja käynnistä gawk käsitellä asiaa. Nämä tiedost
Kuvaus
Optioformaatti
vaihtoehdot
Muuttujat, tietueet ja kentät
asiakirjat
Fields
Sisäänrakennetut muuttujat
taulukot
Muuttuva kirjoittaminen ja muuntaminen
Octal ja Hexadecimal Constants
String Constants
Mallit ja toimet
Kuviot
Säännölliset lausekkeet
Toimet
operaattorit
Valvontalausekkeet
I / O-lausunnot
Printf-ilmoitus
Erityiset tiedostonimet




