Linux gawk naredba

naredba gawk

The budala naredba je sučelje za GAWK, moćan jezik za podudaranje uzoraka i obradu jezika. Temelji se na jeziku AWK .

Opis

Rad s tekstualnim datotekama često zahtijeva ponovljene zadatke. Možda biste željeli izdvojiti određene retke, a ostatak odbaciti. Ili ćete možda trebati unijeti promjene gdje god se pojave određeni uzorci, ali ostatak datoteke ostavite na miru. Pisanje programa za jednokratnu upotrebu za te zadatke na jezicima, kao što je C , C ++ , ili Java , dugotrajan je i nezgodan. Takvi su poslovi često lakši awk . The awk uslužni program tumači programski jezik posebne namjene koji olakšava rukovanje jednostavnim poslovima preoblikovanja podataka.

čemu služi html

Provedba GNU - a awk Zove se budala ; ako ga prizovete odgovarajućim opcijama ili varijable okoline (vidi Opcije), u potpunosti je kompatibilan s POSIX specifikacijom awk jezika i s Unix inačica awk održava Brian Kernighan.

Koristeći awk (ili budala ) omogućuje vam:

  • Upravljajte malim, osobnim baze podataka
  • Generirajte izvješća
  • Potvrdite podaci
  • Proizvodi indeksi i obavljati druge zadatke pripreme dokumenata
  • Eksperimentirajte s algoritmi kasnije se možete prilagoditi drugim računalnim jezicima

Također, budala pruža sadržaje koji olakšavaju:

  • Ekstrakt komadići i dijelove podataka za obradu
  • Vrsta podaci
  • Izvedite jednostavno mreža komunikacije

Sintaksa

gawk [  POSIX or GNU style options  ] -f  program-file  [ -- ]   file   ...
gawk [  POSIX or GNU style options  ] [ -- ]  program-text    file   ...
pgawk [  POSIX or GNU style options  ] -f  program-file  [ -- ]   file   ...
pgawk [  POSIX or GNU style options  ] [ -- ]  program-text    file   ...
dgawk [  POSIX or GNU style options  ] -f  program-file  [ -- ]   file   ...

Opcija Format

budala opcije mogu biti tradicionalne opcije s jednim slovom u POSIX-u ili duge opcije u GNU-u. POSIX opcije počinju s jednim ' - ', dok duge opcije počinju sa' - '. Na raspolaganju su dugačke opcije za značajke specifične za GNU i značajke koje zahtijeva POSIX.

budala -specifične opcije često se koriste u obliku dugih opcija. Argumenti dugih opcija ili se s opcijom pridružuju znakom = znak, bez interventnih prostora, ili se oni mogu pružiti u sljedećem naredbeni redak argument. Duge opcije mogu biti skraćene, sve dok kratica ostaje jedinstvena.

Uz to, svaka duga opcija ima odgovarajuću kratku opciju, tako da se funkcionalnost opcije može koristiti od u #! izvršna skripte .

Opcije

-f programska datoteka ,
--datoteka programska datoteka
Pročitajte izvor datoteke AWK iz datoteke programska datoteka , umjesto iz prvog argumenta naredbenog retka. Višestruko -f (ili --datoteka ) mogu se koristiti opcije.
-F fs ,
- polje-separator fs
Koristiti fs za ulazni separator polja (vrijednost FS predefinirani varijabilna ).
-v gdje = sati ,
--dodijeliti gdje = sati
Dodijelite vrijednost sati na varijablu gdje , prije nego što započne izvršenje programa. Takve vrijednosti varijabli dostupne su POČETI blok programa AWK.
-b ,
--znakovi kao bajtovi
Tretirajte sve ulazne podatke kao jednobajtne znakove. Drugim riječima, nemojte obraćati pažnju na podatke o lokalnom jeziku kada pokušavate obraditi nizove kao višebajtne znakove. The --posix opcija nadjačava ovu opciju.
-c , --tradicionalni Pokrenite u načinu kompatibilnosti. U načinu kompatibilnosti, gawk se ponaša identično kao UNIX awk; niti jedno proširenje specifično za GNU nije prepoznato.
-C , - autorsko pravo Ispišite kratku verziju poruke s informacijama o autorskom pravu GNU na standardni izlaz i uspješno izađite.
-d [ datoteka ],
--dump-varijable [= datoteka ]
Ispisati razvrstani popis globalnih varijabli, njihovih vrsta i konačnih vrijednosti datoteka . Ako ne datoteka je opskrbljen, budala koristi datoteku s imenom awkvars.out u trenutnom direktoriju. Popis svih globalnih varijabli dobar je način za traženje tiskarskih pogrešaka u svojim programima. Ovu biste opciju također koristili ako imate velik program s puno funkcija i želite biti sigurni da vaše funkcije nenamjerno ne koriste globalne varijable za koje ste htjeli da budu lokalne. To je osobito lako pogriješiti s jednostavnim imenima varijabli poput ja , j , i slično.
-je program-tekst ,
--izvor program-tekst
Upotrijebite programski tekst kao izvorni kod programa AWK. Ova opcija omogućuje jednostavno miješanje funkcija knjižnice (koristi se putem -f i --datoteka options) s izvornim kodom upisanim u naredbene programe koji se koriste u skriptama ljuske.
-JE datoteka , --exec datoteka Slično -f međutim, ova je opcija posljednja obrađena. Ovo bi trebalo koristiti sa #! skripte, posebno za CGI aplikacija, kako bi se izbjeglo prenošenje opcija ili izvornog koda (!!!) na naredbeni redak iz a URL . Ova opcija onemogućuje dodjeljivanje varijabli naredbenog retka.
-g , - gen-pot Skenirajte i raščlanite program AWK i generirajte GNU .lonac Datoteka formata (Portable Object Template) na standardnom izlazu s unosima za sve lokalizacijske nizove u programu. Sam program se ne izvršava. Pogledajte GNU gettext distribuciju za više informacija o .lonac datoteke.
-h , --Pomozite Ispišite sažetak dostupnih opcija na standardni izlaz. Prema GNU standardima kodiranja, ove opcije uzrokuju trenutni, uspješni izlazak.
-L [ vrijednost ],
- crta [ = vrijednost ]
Dajte upozorenja o konstrukcijama koje su sumnjive ili se ne mogu prenijeti na druge implementacije AWK-a. Uz neobavezni argument fatal, upozorenja na dlake postaju fatalne pogreške. To može biti drastično, ali njegova upotreba sigurno potiče razvoj čistijih programa AWK. S neobaveznim argumentom invalid, izdaju se samo upozorenja o stvarima koje su stvarno nevaljane. Napomena: Ovo još nije u potpunosti provedeno.
-n , - ne-decimalni podaci Prepoznati oktalni i heksadecimalni vrijednosti u ulaznim podacima. Koristite ovu opciju s velikim oprezom!
-N , --use-lc-numerički Ovo sile budala za upotrebu znaka decimalne točke lokalizacije pri raščlanjivanju ulaznih podataka. Iako standard POSIX zahtijeva takvo ponašanje, a gawk to čini kada --posix je na snazi, zadano je slijediti tradicionalno ponašanje i koristiti točku kao decimalnu točku, čak i na lokalitetima u kojima točka nije znak decimalne točke. Ova opcija nadjačava zadano ponašanje, bez pune drakonske strogosti --posix opcija.
-ILI , --optimizirati Omogućite optimizacije na internom predstavljanju programa. Trenutno to uključuje samo jednostavno konstantno preklapanje. The budala održavatelj se nada da će s vremenom dodati dodatne optimizacije.
-str [ prof_datoteka ],
--profil [ = prof_datoteka ]
Pošaljite podatke o profiliranju na prof_datoteka . Zadana vrijednost je awkprof.out . Kad se trči s budala , profil je 'prilično tiskana' verzija programa. Kad se trči s pgawk , profil sadrži brojeve izvršavanja svake naredbe u programu na lijevoj margini i brojeve poziva funkcije za svaku korisnički definiranu funkciju.
-P , --posix Ovo uključuje način kompatibilnosti, uz sljedeća dodatna ograničenja:

x sekvence bijega nisu prepoznate.

Samo prostor i tab djeluju kao odvajači polja kad FS je postavljen na jedan razmak, novi red ne.

Ne možete nastaviti redove nakon ? i :

Sinonim funkcija jer funkcija ključne riječi nije prepoznata.

Operateri ** i ** = ne može se koristiti umjesto ^ i ^ =

The isprazniti () funkcija nije dostupna.
-r , --re-interval Omogućite upotrebu izraza intervala u podudaranju regularnih izraza. Izrazi u intervalima tradicionalno nisu bili dostupni na jeziku AWK. POSIX standard dodao ih je za izradu awk i egrep dosljedan. Oni su omogućeni prema zadanim postavkama, ali ova opcija ostaje za upotrebu s --tradicionalni .
-R , - naredbena datoteka Dgawk samo. Pročitajte pohranjene naredbe programa za otklanjanje pogrešaka iz datoteke.
-S , --kutija za pijesak Trči budala u pješčaniku, onemogućavajući sustav() funkcija, preusmjeravanje ulaza sa getline , preusmjeravanje izlaza s ispis i printf i učitavanje dinamičkih proširenja. Izvršenje naredbe (kroz cjevovode) je također onemogućeno. To učinkovito blokira skriptu pristup lokalnim resursima (osim datotekama navedenim u naredbenom retku).
-t , - crta-stara Dajte upozorenja o konstrukcijama koje nisu prenosive na izvornu verziju Unix awk-a.
-V , --verzija Ispis podataka o verziji za ovu određenu kopiju gawka na standardnom izlazu. Ovo je korisno uglavnom za saznanje je li trenutna kopija gawka na vašem sustavu ažurirana u odnosu na ono što Free Foundation Foundation distribuira. Ovo je također korisno kod prijavljivanja bugova. Prema GNU standardima kodiranja, ove opcije uzrokuju trenutni, uspješni izlazak.
- Označite kraj opcija. Ovo je korisno za dopuštanje daljnjih argumenata samom programu AWK da započnu s ' - '. To osigurava dosljednost konvenciji raščlanjivanja argumenata koju koristi većina drugih POSIX programa.

U načinu kompatibilnosti, sve ostale opcije označene su kao nevaljane, ali se inače zanemaruju. U normalnom radu, sve dok je dostavljen tekst programa, nepoznate mogućnosti prosljeđuju se programu AWK u polju ARGV na obradu. Ovo je osobito korisno za pokretanje AWK programa putem ' #! 'izvršni mehanizam tumača.

Izvršenje programa AWK

AWK program sastoji se od niza izjava o radnji uzorka i neobaveznih definicija funkcija.

@include '  file name  '  pattern  {  action   statements  } function  name  (  parameter list  ) {  statements  }

budala prvo čita programski izvor iz programska datoteka ako je navedeno, od argumenata do --izvor ili iz prvog argumenta koji nije opcija u naredbenom retku. The -f i --izvor opcije se mogu koristiti više puta na naredbenom retku. budala čita programski tekst kao da su sve programske datoteke i izvorni tekstovi naredbenog retka spojene . Ovo je korisno za izgradnju knjižnica AWK funkcija, bez potrebe da ih uključujete u svaki novi AWK program koji ih koristi. Također pruža mogućnost miješanja funkcija knjižnice s programima naredbenog retka.

Također, redovi koji počinju s @include može se koristiti za uključivanje drugih izvornih datoteka u vaš program, što još više olakšava upotrebu knjižnice.

kako napraviti gifove od youtube videa

The varijabla okoline PUT PUTA određuje put pretraživanja koji će se koristiti pri pronalaženju izvornih datoteka imenovanih s -f opcija. Ako ova varijabla ne postoji, zadani put je ' .: / usr / local / share / awk '. Stvarni direktorij može se razlikovati, ovisno o tome kako budala je izgrađen i instaliran. Ako je ime datoteke dato datoteci -f opcija sadrži ' / 'znak, ne vrši se traženje puta.

budala izvršava AWK programe sljedećim redoslijedom. Prvo, sve dodjele varijabli specificirane putem -v opcija se izvode. Sljedeći, budala sastavlja program u interni oblik. Zatim, budala izvršava kôd u blokovima BEGIN (ako postoje), a zatim nastavlja s čitanjem svake datoteke imenovane u ARGV niz (do ARGV [ARGC] ). Ako na naredbenom retku nema datoteka imenovanih, budala čita standardni ulaz.

Ako naziv datoteke na naredbenom retku ima oblik gdje = sati tretira se kao dodjeljivanje varijable. Varijabla gdje dodjeljuje se vrijednost sati . To se događa nakon bilo kojeg POČETI pokreću se blokovi. Dodjela varijabli naredbenog retka najkorisnija je za dinamičko dodjeljivanje vrijednosti varijablama koje AWK koristi za kontrolu razbijanja unosa u polja i zapise. Također je korisno za kontrolu stanja ako je potrebno više prolazaka kroz jednu podatkovnu datoteku.

Ako vrijednost određenog elementa ARGV prazno je (''), budala preskače ga.

kako napraviti tekstualni dokument

Za svaku ulaznu datoteku, ako je ZAPOČNI FILE pravilo postoji, budala izvršava pridruženi kod prije obrade sadržaja datoteke. Slično tome, budala izvršava kod povezan sa ZAVRŠNICA nakon obrade datoteke.

Za svaki zapis na ulazu, budala testovi kako bi se utvrdilo odgovara li nekom uzorku u programu AWK. Za svaki obrazac koji se zapis podudara, izvršava se povezana akcija. Obrasci se ispituju redoslijedom kojim se javljaju u programu.

Napokon, nakon što se sav unos iscrpi, budala izvršava kôd u KRAJ blokovi (ako postoje).

Službeni korisnički priručnik za gawk

Ako želite saznati više o ovom nevjerojatno moćnom jeziku, pogledajte GNU gawk korisnički vodič.

Primjeri

gawk '{ num_fields = num_fields + NF } END { print num_fields }'

Ispišite ukupan broj polja u svim ulaznim linijama.

gawk 'length(id="texttext">
					

Linux gawk naredba

naredba gawk

The budala naredba je sučelje za GAWK, moćan jezik za podudaranje uzoraka i obradu jezika. Temelji se na jeziku AWK .

Opis

Rad s tekstualnim datotekama često zahtijeva ponovljene zadatke. Možda biste željeli izdvojiti određene retke, a ostatak odbaciti. Ili ćete možda trebati unijeti promjene gdje god se pojave određeni uzorci, ali ostatak datoteke ostavite na miru. Pisanje programa za jednokratnu upotrebu za te zadatke na jezicima, kao što je C , C ++ , ili Java , dugotrajan je i nezgodan. Takvi su poslovi često lakši awk . The awk uslužni program tumači programski jezik posebne namjene koji olakšava rukovanje jednostavnim poslovima preoblikovanja podataka.

Provedba GNU - a awk Zove se budala ; ako ga prizovete odgovarajućim opcijama ili varijable okoline (vidi Opcije), u potpunosti je kompatibilan s POSIX specifikacijom awk jezika i s Unix inačica awk održava Brian Kernighan.

Koristeći awk (ili budala ) omogućuje vam:

  • Upravljajte malim, osobnim baze podataka
  • Generirajte izvješća
  • Potvrdite podaci
  • Proizvodi indeksi i obavljati druge zadatke pripreme dokumenata
  • Eksperimentirajte s algoritmi kasnije se možete prilagoditi drugim računalnim jezicima

Također, budala pruža sadržaje koji olakšavaju:

  • Ekstrakt komadići i dijelove podataka za obradu
  • Vrsta podaci
  • Izvedite jednostavno mreža komunikacije

Sintaksa

gawk [  POSIX or GNU style options  ] -f  program-file  [ -- ]   file   ...
gawk [  POSIX or GNU style options  ] [ -- ]  program-text    file   ...
pgawk [  POSIX or GNU style options  ] -f  program-file  [ -- ]   file   ...
pgawk [  POSIX or GNU style options  ] [ -- ]  program-text    file   ...
dgawk [  POSIX or GNU style options  ] -f  program-file  [ -- ]   file   ...

Opcija Format

budala opcije mogu biti tradicionalne opcije s jednim slovom u POSIX-u ili duge opcije u GNU-u. POSIX opcije počinju s jednim ' - ', dok duge opcije počinju sa' - '. Na raspolaganju su dugačke opcije za značajke specifične za GNU i značajke koje zahtijeva POSIX.

budala -specifične opcije često se koriste u obliku dugih opcija. Argumenti dugih opcija ili se s opcijom pridružuju znakom = znak, bez interventnih prostora, ili se oni mogu pružiti u sljedećem naredbeni redak argument. Duge opcije mogu biti skraćene, sve dok kratica ostaje jedinstvena.

Uz to, svaka duga opcija ima odgovarajuću kratku opciju, tako da se funkcionalnost opcije može koristiti od u #! izvršna skripte .

Opcije

-f programska datoteka ,
--datoteka programska datoteka
Pročitajte izvor datoteke AWK iz datoteke programska datoteka , umjesto iz prvog argumenta naredbenog retka. Višestruko -f (ili --datoteka ) mogu se koristiti opcije.
-F fs ,
- polje-separator fs
Koristiti fs za ulazni separator polja (vrijednost FS predefinirani varijabilna ).
-v gdje = sati ,
--dodijeliti gdje = sati
Dodijelite vrijednost sati na varijablu gdje , prije nego što započne izvršenje programa. Takve vrijednosti varijabli dostupne su POČETI blok programa AWK.
-b ,
--znakovi kao bajtovi
Tretirajte sve ulazne podatke kao jednobajtne znakove. Drugim riječima, nemojte obraćati pažnju na podatke o lokalnom jeziku kada pokušavate obraditi nizove kao višebajtne znakove. The --posix opcija nadjačava ovu opciju.
-c , --tradicionalni Pokrenite u načinu kompatibilnosti. U načinu kompatibilnosti, gawk se ponaša identično kao UNIX awk; niti jedno proširenje specifično za GNU nije prepoznato.
-C , - autorsko pravo Ispišite kratku verziju poruke s informacijama o autorskom pravu GNU na standardni izlaz i uspješno izađite.
-d [ datoteka ],
--dump-varijable [= datoteka ]
Ispisati razvrstani popis globalnih varijabli, njihovih vrsta i konačnih vrijednosti datoteka . Ako ne datoteka je opskrbljen, budala koristi datoteku s imenom awkvars.out u trenutnom direktoriju. Popis svih globalnih varijabli dobar je način za traženje tiskarskih pogrešaka u svojim programima. Ovu biste opciju također koristili ako imate velik program s puno funkcija i želite biti sigurni da vaše funkcije nenamjerno ne koriste globalne varijable za koje ste htjeli da budu lokalne. To je osobito lako pogriješiti s jednostavnim imenima varijabli poput ja , j , i slično.
-je program-tekst ,
--izvor program-tekst
Upotrijebite programski tekst kao izvorni kod programa AWK. Ova opcija omogućuje jednostavno miješanje funkcija knjižnice (koristi se putem -f i --datoteka options) s izvornim kodom upisanim u naredbene programe koji se koriste u skriptama ljuske.
-JE datoteka , --exec datoteka Slično -f međutim, ova je opcija posljednja obrađena. Ovo bi trebalo koristiti sa #! skripte, posebno za CGI aplikacija, kako bi se izbjeglo prenošenje opcija ili izvornog koda (!!!) na naredbeni redak iz a URL . Ova opcija onemogućuje dodjeljivanje varijabli naredbenog retka.
-g , - gen-pot Skenirajte i raščlanite program AWK i generirajte GNU .lonac Datoteka formata (Portable Object Template) na standardnom izlazu s unosima za sve lokalizacijske nizove u programu. Sam program se ne izvršava. Pogledajte GNU gettext distribuciju za više informacija o .lonac datoteke.
-h , --Pomozite Ispišite sažetak dostupnih opcija na standardni izlaz. Prema GNU standardima kodiranja, ove opcije uzrokuju trenutni, uspješni izlazak.
-L [ vrijednost ],
- crta [ = vrijednost ]
Dajte upozorenja o konstrukcijama koje su sumnjive ili se ne mogu prenijeti na druge implementacije AWK-a. Uz neobavezni argument fatal, upozorenja na dlake postaju fatalne pogreške. To može biti drastično, ali njegova upotreba sigurno potiče razvoj čistijih programa AWK. S neobaveznim argumentom invalid, izdaju se samo upozorenja o stvarima koje su stvarno nevaljane. Napomena: Ovo još nije u potpunosti provedeno.
-n , - ne-decimalni podaci Prepoznati oktalni i heksadecimalni vrijednosti u ulaznim podacima. Koristite ovu opciju s velikim oprezom!
-N , --use-lc-numerički Ovo sile budala za upotrebu znaka decimalne točke lokalizacije pri raščlanjivanju ulaznih podataka. Iako standard POSIX zahtijeva takvo ponašanje, a gawk to čini kada --posix je na snazi, zadano je slijediti tradicionalno ponašanje i koristiti točku kao decimalnu točku, čak i na lokalitetima u kojima točka nije znak decimalne točke. Ova opcija nadjačava zadano ponašanje, bez pune drakonske strogosti --posix opcija.
-ILI , --optimizirati Omogućite optimizacije na internom predstavljanju programa. Trenutno to uključuje samo jednostavno konstantno preklapanje. The budala održavatelj se nada da će s vremenom dodati dodatne optimizacije.
-str [ prof_datoteka ],
--profil [ = prof_datoteka ]
Pošaljite podatke o profiliranju na prof_datoteka . Zadana vrijednost je awkprof.out . Kad se trči s budala , profil je 'prilično tiskana' verzija programa. Kad se trči s pgawk , profil sadrži brojeve izvršavanja svake naredbe u programu na lijevoj margini i brojeve poziva funkcije za svaku korisnički definiranu funkciju.
-P , --posix Ovo uključuje način kompatibilnosti, uz sljedeća dodatna ograničenja:

x sekvence bijega nisu prepoznate.

Samo prostor i tab djeluju kao odvajači polja kad FS je postavljen na jedan razmak, novi red ne.

Ne možete nastaviti redove nakon ? i :

Sinonim funkcija jer funkcija ključne riječi nije prepoznata.

Operateri ** i ** = ne može se koristiti umjesto ^ i ^ =

The isprazniti () funkcija nije dostupna.
-r , --re-interval Omogućite upotrebu izraza intervala u podudaranju regularnih izraza. Izrazi u intervalima tradicionalno nisu bili dostupni na jeziku AWK. POSIX standard dodao ih je za izradu awk i egrep dosljedan. Oni su omogućeni prema zadanim postavkama, ali ova opcija ostaje za upotrebu s --tradicionalni .
-R , - naredbena datoteka Dgawk samo. Pročitajte pohranjene naredbe programa za otklanjanje pogrešaka iz datoteke.
-S , --kutija za pijesak Trči budala u pješčaniku, onemogućavajući sustav() funkcija, preusmjeravanje ulaza sa getline , preusmjeravanje izlaza s ispis i printf i učitavanje dinamičkih proširenja. Izvršenje naredbe (kroz cjevovode) je također onemogućeno. To učinkovito blokira skriptu pristup lokalnim resursima (osim datotekama navedenim u naredbenom retku).
-t , - crta-stara Dajte upozorenja o konstrukcijama koje nisu prenosive na izvornu verziju Unix awk-a.
-V , --verzija Ispis podataka o verziji za ovu određenu kopiju gawka na standardnom izlazu. Ovo je korisno uglavnom za saznanje je li trenutna kopija gawka na vašem sustavu ažurirana u odnosu na ono što Free Foundation Foundation distribuira. Ovo je također korisno kod prijavljivanja bugova. Prema GNU standardima kodiranja, ove opcije uzrokuju trenutni, uspješni izlazak.
- Označite kraj opcija. Ovo je korisno za dopuštanje daljnjih argumenata samom programu AWK da započnu s ' - '. To osigurava dosljednost konvenciji raščlanjivanja argumenata koju koristi većina drugih POSIX programa.

U načinu kompatibilnosti, sve ostale opcije označene su kao nevaljane, ali se inače zanemaruju. U normalnom radu, sve dok je dostavljen tekst programa, nepoznate mogućnosti prosljeđuju se programu AWK u polju ARGV na obradu. Ovo je osobito korisno za pokretanje AWK programa putem ' #! 'izvršni mehanizam tumača.

Izvršenje programa AWK

AWK program sastoji se od niza izjava o radnji uzorka i neobaveznih definicija funkcija.

@include '  file name  '  pattern  {  action   statements  } function  name  (  parameter list  ) {  statements  }

budala prvo čita programski izvor iz programska datoteka ako je navedeno, od argumenata do --izvor ili iz prvog argumenta koji nije opcija u naredbenom retku. The -f i --izvor opcije se mogu koristiti više puta na naredbenom retku. budala čita programski tekst kao da su sve programske datoteke i izvorni tekstovi naredbenog retka spojene . Ovo je korisno za izgradnju knjižnica AWK funkcija, bez potrebe da ih uključujete u svaki novi AWK program koji ih koristi. Također pruža mogućnost miješanja funkcija knjižnice s programima naredbenog retka.

Također, redovi koji počinju s @include može se koristiti za uključivanje drugih izvornih datoteka u vaš program, što još više olakšava upotrebu knjižnice.

The varijabla okoline PUT PUTA određuje put pretraživanja koji će se koristiti pri pronalaženju izvornih datoteka imenovanih s -f opcija. Ako ova varijabla ne postoji, zadani put je ' .: / usr / local / share / awk '. Stvarni direktorij može se razlikovati, ovisno o tome kako budala je izgrađen i instaliran. Ako je ime datoteke dato datoteci -f opcija sadrži ' / 'znak, ne vrši se traženje puta.

budala izvršava AWK programe sljedećim redoslijedom. Prvo, sve dodjele varijabli specificirane putem -v opcija se izvode. Sljedeći, budala sastavlja program u interni oblik. Zatim, budala izvršava kôd u blokovima BEGIN (ako postoje), a zatim nastavlja s čitanjem svake datoteke imenovane u ARGV niz (do ARGV [ARGC] ). Ako na naredbenom retku nema datoteka imenovanih, budala čita standardni ulaz.

Ako naziv datoteke na naredbenom retku ima oblik gdje = sati tretira se kao dodjeljivanje varijable. Varijabla gdje dodjeljuje se vrijednost sati . To se događa nakon bilo kojeg POČETI pokreću se blokovi. Dodjela varijabli naredbenog retka najkorisnija je za dinamičko dodjeljivanje vrijednosti varijablama koje AWK koristi za kontrolu razbijanja unosa u polja i zapise. Također je korisno za kontrolu stanja ako je potrebno više prolazaka kroz jednu podatkovnu datoteku.

Ako vrijednost određenog elementa ARGV prazno je (''), budala preskače ga.

Za svaku ulaznu datoteku, ako je ZAPOČNI FILE pravilo postoji, budala izvršava pridruženi kod prije obrade sadržaja datoteke. Slično tome, budala izvršava kod povezan sa ZAVRŠNICA nakon obrade datoteke.

Za svaki zapis na ulazu, budala testovi kako bi se utvrdilo odgovara li nekom uzorku u programu AWK. Za svaki obrazac koji se zapis podudara, izvršava se povezana akcija. Obrasci se ispituju redoslijedom kojim se javljaju u programu.

Napokon, nakon što se sav unos iscrpi, budala izvršava kôd u KRAJ blokovi (ako postoje).

Službeni korisnički priručnik za gawk

Ako želite saznati više o ovom nevjerojatno moćnom jeziku, pogledajte GNU gawk korisnički vodič.

Primjeri

gawk '{ num_fields = num_fields + NF } END { print num_fields }'

Ispišite ukupan broj polja u svim ulaznim linijama.

gawk 'length($0) > 80'

Ispisuje svaki redak duži od 80 znakova. Jedino pravilo ima relacijski izraz kao obrazac i nema radnju (stoga se koristi zadana radnja, ispis zapisa).

ls -l files | awk '{ x += $4 } ; END { print 'total bytes: ' x }'

Ispisuje ukupan broj bajtova koje datoteke koriste.

awk - Tumač za programski jezik za obradu teksta AWK.
i - Uslužni program za filtriranje i pretvaranje teksta.


) > 80'

Ispisuje svaki redak duži od 80 znakova. Jedino pravilo ima relacijski izraz kao obrazac i nema radnju (stoga se koristi zadana radnja, ispis zapisa).

ls -l files | awk '{ x +=  } ; END { print 'total bytes: ' x }'

Ispisuje ukupan broj bajtova koje datoteke koriste.

awk - Tumač za programski jezik za obradu teksta AWK.
i - Uslužni program za filtriranje i pretvaranje teksta.

pronaći datoteku u sustavu Windows 10