„Linux gawk“ komanda

gawk komanda

gawk komanda yra GAWK sąsaja, galinga šablonų derinimo ir apdorojimo kalba. Tai remiasi kalba AWK .

apibūdinimas

Darbui su teksto failais dažnai reikia pakartoti užduotis. Galbūt norėsite išskleisti tam tikras eilutes, o likusias išmesti. Arba gali tekti atlikti pakeitimus visur, kur atsiranda tam tikri modeliai, tačiau likusią failo dalį palikite ramybėje. Šių užduočių vienkartinių programų rašymas kalbomis, pvz C , C ++ arba „Java“ , užima daug laiko ir nepatogu. Tokie darbai dažnai būna lengvesni awk . awk Naudingumas aiškina specialios paskirties programavimo kalbą, leidžiančią lengvai tvarkyti paprastus duomenų pertvarkymo darbus.



failą naudoja kitas procesas

GNU įgyvendinimas awk vadinamas gawk ; jei pasinaudosite tinkamomis parinktimis arba aplinkos įvairovė (žr. Parinktys), jis yra visiškai suderinamas su awk kalbos POSIX specifikacija ir „Unix“ versija awk išlaikė Brianas Kernighanas.

Naudojant awk (arba gawk ) leidžia:

  • Tvarkykite mažus, asmeniškus duomenų bazės
  • Generuoti ataskaitas
  • Patvirtinti duomenis
  • Gamina indeksai ir atlikti kitas dokumentų rengimo užduotis
  • Eksperimentuokite su algoritmai vėliau galėsite prisitaikyti prie kitų kompiuterio kalbų

Be to, gawk teikia įrenginius, kurie palengvina:



  • Ištrauka bitai ir duomenų, skirtų apdoroti, vienetus
  • Rūšiuoti duomenis
  • Atlikite paprastai tinklo komunikacijos

Sintaksė

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   ...

Parinkties formatas

gawk parinktys gali būti tradicinės POSIX stiliaus vienos raidės parinktys arba GNU stiliaus ilgosios parinktys. „POSIX“ parinktys prasideda vienu - ', o ilgos parinktys prasideda' - '. Pateikiamos ilgos GNU funkcijų ir POSIX įgaliotų funkcijų parinktys.

gawk - konkretūs variantai dažnai naudojami ilgų pasirinkimų forma. Argumentai apie ilgus variantus yra arba sujungti su opcija = ženklas, kuriame nėra įsiterpiančių vietų, arba jie gali būti pateikti kitame komandinė eilutė argumentas. Ilgi variantai gali būti sutrumpinti, jei sutrumpinimas išlieka unikalus.

Be to, kiekvienoje ilgoje parinktyje yra atitinkama trumpa parinktis, kad pasirinkimo funkciją būtų galima naudoti iš „in“ #! vykdomas scenarijus .



Galimybės

-f programos failas ,
--failas programos failas
Perskaitykite AWK programos šaltinį iš failo programos failas , o ne iš pirmosios komandinės eilutės argumento. Daugkartinis -f (arba --failas ) gali būti naudojamos parinktys.
-F fs ,
- lauko separatorius fs
Naudokite fs įvesties lauko separatoriui (reikšmė FS iš anksto apibrėžtas kintamasis ).
-v kur = val ,
- paskyrimas kur = val
Priskirkite vertę val prie kintamojo kur , prieš pradedant vykdyti programą. Tokios kintamosios vertės yra prieinamos PRADŽIA AWK programos blokas.
-b ,
- simboliai kaip baitai
Visus įvesties duomenis traktuokite kaip vieno baito simbolius. Kitaip tariant, nekreipkite dėmesio į lokalės informaciją, kai bandote apdoroti eilutes kaip kelių baitų simbolius. --pastatas parinktis nepaiso šios parinkties.
-c , - tradicinis Vykdyti suderinamumo režimu. Suderinamumo režime „gawk“ elgiasi taip pat, kaip ir „UNIX awk“; nė vienas iš GNU specifinių plėtinių nėra atpažįstamas.
-C , --autorių teisės Atspausdinkite trumpą GNU autorių teisių pranešimo versiją ant standartinės išvesties ir sėkmingai išeikite.
-d [ failą ],
--dump-kintamieji [= failą ]
Spausdinkite rūšiuojamą visuotinių kintamųjų, jų tipų ir galutinių reikšmių sąrašą failą . Jei ne failą yra teikiama, gawk naudoja failą pavadinimu awkvars.out dabartiniame kataloge. Turėdami visų visuotinių kintamųjų sąrašą, galite ieškoti spausdinimo klaidų savo programose. Taip pat naudosite šią parinktį, jei turite didelę programą su daugybe funkcijų ir norite būti tikri, kad jūsų funkcijos netyčia nenaudoja globalių kintamųjų, kuriuos norėjote laikyti vietiniais. Tai yra ypač lengva padaryti naudojant paprastus kintamųjų pavadinimus, pvz., i , j ir panašiai.
-yra programa-tekstas ,
- šaltinis programa-tekstas
Naudokite programos tekstą kaip AWK programos šaltinio kodą. Ši parinktis leidžia lengvai sujungti bibliotekos funkcijas (naudojamas per -f ir --failas parinktys) su šaltinio kodu, įvestu komandų programose, naudojamose „shell“ scenarijuose.
-IS failą , - exec failą Panašus į -f tačiau ši parinktis yra paskutinė apdorota. Tai turėtų būti naudojama su #! scenarijus, ypač CGI programas, kad komandų eilutėje neperduotumėte parinkčių ar šaltinio kodo (!!!) iš a URL . Ši parinktis išjungia komandinės eilutės kintamųjų priskyrimus.
-g , - gen-pot Nuskaitykite ir išanalizuokite AWK programą ir sugeneruokite GNU .potas (Portable Object Template) formato failas standartiniame išvestyje su įrašais į visas lokalizuojamas programos eilutes. Pati programa nevykdoma. Norėdami gauti daugiau informacijos, žr. GNU gettext platinimą .potas failus.
-h , --pagalba Standartiniame išvestyje atspausdinkite galimų parinkčių santrauką. Pagal GNU kodavimo standartus šios parinktys leidžia nedelsiant ir sėkmingai išeiti.
-L [ vertė ],
- pūkelis [ = vertė ]
Pateikite įspėjimus apie konstrukcijas, kurios yra abejotinos arba kurių negalima perkelti į kitus AWK diegimus. Jei pasirenkamas mirtinas argumentas, pūkų įspėjimai tampa lemtingomis klaidomis. Tai gali būti drastiška, tačiau jo naudojimas tikrai skatina kurti švaresnes AWK programas. Pasirenkant negaliojančiu argumentą, pateikiami tik įspėjimai apie dalykus, kurie iš tikrųjų yra neteisingi. Pastaba: tai dar nėra visiškai įgyvendinta.
-n , - ne dešimtainiai duomenys Atpažinkite aštuonias ir šešioliktainis vertės įvesties duomenyse. Naudokite šią parinktį labai atsargiai!
-N , - use-lc-skaitinis Tai verčia gawk analizuojant įvesties duomenis naudoti lokalės dešimtainį ženklą. Nors POSIX standartas reikalauja tokio elgesio, o gawk tai daro, kai --pastatas iš tikrųjų yra numatytasis įprastas elgesys ir taškas kaip kablelis naudojamas net vietovėse, kur laikotarpis nėra dešimtainis kablelis. Ši parinktis nepaiso numatytojo elgesio, be visiško drakoniško griežtumo --pastatas variantą.
-AI , - optimizuoti Įgalinti vidinio programos atvaizdavimo optimizavimą. Šiuo metu tai apima tik paprastą nuolatinį lankstymą. gawk prižiūrėtojas tikisi laikui bėgant pridėti papildomų optimizacijų.
-p [ prof_file ],
--profilis [ = prof_file ]
Siųsti profiliavimo duomenis į prof_file . Numatytasis yra awkprof.out . Kai paleisti su gawk , profilis yra „gana atspausdinta“ programos versija. Kai paleisti su pgawk , profilyje yra kiekvieno programos sakinio vykdymo skaičius kairiajame paraštėje ir kiekvienos vartotojo nustatytos funkcijos skambučių skaičius.
-P , --pastatas Tai įjungia suderinamumo režimą su šiais papildomais apribojimais:

x pabėgimo sekos neatpažįstamos.

Tik vietos ir skirtuką veikti kaip lauko separatoriai, kai FS yra nustatytas į vieną tarpą, „newline“ ne.

Po to negalite tęsti eilučių ? ir :

Sinonimas funkcija raktinio žodžio funkcija neatpažįstama.

Operatoriai ** ir ** = negali būti naudojamas vietoje ^ ir ^ =

fflush () funkcija negalima.
-r , - pertrauka Įgalinkite intervalų išraiškų naudojimą reguliarių išraiškų atitikime. Intervalinės išraiškos tradiciškai nebuvo prieinamos AWK kalba. Pagaminti juos pridėjo POSIX standartas awk ir egrep nuoseklus. Pagal numatytuosius nustatymus jie įgalinti, tačiau ši parinktis lieka naudoti su - tradicinis .
-R , - komandų failas Dgawk tik. Skaityti saugomas derintuvo komandas iš failo.
-S , - smėlio dėžė Bėga gawk „sandbox“ režimu išjungdami sistema () funkcija, įvesties peradresavimas naudojant getline , išvesties peradresavimas naudojant spausdinti ir printf ir įkeliami dinaminiai plėtiniai. Taip pat išjungtas komandos vykdymas (vamzdynais). Tai veiksmingai blokuoja scenarijų prieigą prie vietinių išteklių (išskyrus failus, nurodytus komandinėje eilutėje).
-t , - pūkelis senas Pateikite įspėjimus apie konstrukcijas, kurių negalima perkelti į pradinę „Unix awk“ versiją.
-V , --versija Spausdinkite šios konkrečios „gawk“ kopijos versijos informaciją standartinėje išvestyje. Tai naudinga daugiausia norint sužinoti, ar dabartinė „gawk“ kopija jūsų sistemoje yra atnaujinta, atsižvelgiant į tai, ką platina „Free Software Foundation“. Tai taip pat naudinga pranešant apie klaidas. Pagal GNU kodavimo standartus šios parinktys leidžia nedelsiant ir sėkmingai išeiti.
- Signalizuokite parinkčių pabaigą. Tai naudinga, kad kiti argumentai pačiai AWK programai galėtų prasidėti „ - '. Tai užtikrina nuoseklumą su daugumos kitų POSIX programų naudojama argumentų analizės tvarka.

Suderinamumo režime visos kitos parinktys pažymimos kaip netinkamos, tačiau kitaip ignoruojamos. Įprastiniu režimu, kol pateikiamas programos tekstas, nežinomos parinktys ARGV masyve perduodamos AWK programai apdoroti. Tai ypač naudinga vykdant AWK programas per „ #! vykdomojo vertėjo mechanizmas.

AWK programos vykdymas

AWK programą sudaro šablono-veiksmo sakinių seka ir pasirinktiniai funkcijų apibrėžimai.

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

gawk pirmiausia skaito programos šaltinį iš programos failas s) jei nurodyta, nuo argumentų iki - šaltinis , arba iš pirmojo ne parinkties argumento komandinėje eilutėje. -f ir - šaltinis parinktys gali būti naudojamos kelis kartus komandinėje eilutėje. gawk skaito programos tekstą taip, lyg visi programos failai ir komandinės eilutės šaltinio tekstai būtų buvę susieta . Tai naudinga kuriant AWK funkcijų bibliotekas, nereikia jų įtraukti į kiekvieną naują jas naudojančią AWK programą. Tai taip pat suteikia galimybę maišyti bibliotekos funkcijas su komandinės eilutės programomis.

Be to, eilutės, prasidedančios @ įtraukti gali būti naudojamas įtraukiant kitus šaltinio failus į jūsų programą, kad biblioteką būtų dar lengviau naudoti.

komandinės eilutės žemėlapio tinklo diskas

aplinkos kintamasis AWKPATH nurodo paieškos kelią, kurį reikia naudoti ieškant šaltinio failų, pavadintų -f variantą. Jei šio kintamojo nėra, numatytasis kelias yra „ .: / usr / local / share / awk '. Tikrasis katalogas gali skirtis, priklausomai nuo to, kaip gawk buvo pastatytas ir sumontuotas. Jei failui suteiktas -f parinktyje yra ' / 'simbolis, kelio paieška neatliekama.

gawk vykdo AWK programas tokia tvarka. Pirma, visi kintamieji priskyrimai, nurodyti per -v variantas. Kitas, gawk sudaro programą į vidinę formą. Tada gawk įvykdo kodą BEGIN (-uose) bloke (-uose) (jei yra), tada perskaito kiekvieną failą, pavadintą ARGV masyvas (iki ARGV [ARGC] ). Jei komandinėje eilutėje nėra pavadintų failų, gawk nuskaito standartinę įvestį.

Jei failo vardas komandinėje eilutėje turi formą kur = val tai traktuojama kaip kintama užduotis. Kintamasis kur priskiriama vertė val . Tai atsitinka po bet kurio PRADŽIA paleidžiami blokai. Komandinės eilutės kintamųjų priskyrimas yra naudingiausias dinamiškai priskiriant reikšmes kintamiesiems, kuriuos AWK naudoja valdyti, kaip įvestis suskaidoma į laukus ir įrašus. Tai taip pat naudinga kontroliuojant būseną, jei vienam duomenų failui reikalingi keli leidimai.

Jei tam tikro elemento vertė ARGV Yra tuščias (''), gawk tai praleidžia.

tai buvo pirmasis visuomenei parduodamas bendrosios paskirties kompiuteris

Kiekvienam įvesties failui, jei a PRADĖTI FILE egzistuoja taisyklė, gawk vykdo susietą kodą prieš apdorodamas failo turinį. Panašiai gawk vykdo kodą, susietą su ENDFILIUOTI apdorojus failą.

Kiekvienam įvesties įrašui gawk testuoja, ar jis atitinka kurį nors AWK programos modelį. Su kiekvienu modeliu, kurį atitinka įrašas, atliekamas susijęs veiksmas. Šablonai tikrinami ta tvarka, kokia jie yra programoje.

Galiausiai, išnaudojus visas įvestis, gawk vykdo kodą GALAS blokas (-ai) (jei yra).

Oficialus „gawk“ vartotojo vadovas

Jei norite sužinoti daugiau apie šią nepaprastai galingą kalbą, patikrinkite GNU „gawk“ vartotojo vadovas.

Pavyzdžiai

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

Atspausdinkite bendrą laukų skaičių visose įvesties eilutėse.

gawk 'length(id="texttext">
					

„Linux gawk“ komanda

gawk komanda

gawk komanda yra GAWK sąsaja, galinga šablonų derinimo ir apdorojimo kalba. Tai remiasi kalba AWK .

apibūdinimas

Darbui su teksto failais dažnai reikia pakartoti užduotis. Galbūt norėsite išskleisti tam tikras eilutes, o likusias išmesti. Arba gali tekti atlikti pakeitimus visur, kur atsiranda tam tikri modeliai, tačiau likusią failo dalį palikite ramybėje. Šių užduočių vienkartinių programų rašymas kalbomis, pvz C , C ++ arba „Java“ , užima daug laiko ir nepatogu. Tokie darbai dažnai būna lengvesni awk . awk Naudingumas aiškina specialios paskirties programavimo kalbą, leidžiančią lengvai tvarkyti paprastus duomenų pertvarkymo darbus.



GNU įgyvendinimas awk vadinamas gawk ; jei pasinaudosite tinkamomis parinktimis arba aplinkos įvairovė (žr. Parinktys), jis yra visiškai suderinamas su awk kalbos POSIX specifikacija ir „Unix“ versija awk išlaikė Brianas Kernighanas.

Naudojant awk (arba gawk ) leidžia:

  • Tvarkykite mažus, asmeniškus duomenų bazės
  • Generuoti ataskaitas
  • Patvirtinti duomenis
  • Gamina indeksai ir atlikti kitas dokumentų rengimo užduotis
  • Eksperimentuokite su algoritmai vėliau galėsite prisitaikyti prie kitų kompiuterio kalbų

Be to, gawk teikia įrenginius, kurie palengvina:



  • Ištrauka bitai ir duomenų, skirtų apdoroti, vienetus
  • Rūšiuoti duomenis
  • Atlikite paprastai tinklo komunikacijos

Sintaksė

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   ...

Parinkties formatas

gawk parinktys gali būti tradicinės POSIX stiliaus vienos raidės parinktys arba GNU stiliaus ilgosios parinktys. „POSIX“ parinktys prasideda vienu - ', o ilgos parinktys prasideda' - '. Pateikiamos ilgos GNU funkcijų ir POSIX įgaliotų funkcijų parinktys.

gawk - konkretūs variantai dažnai naudojami ilgų pasirinkimų forma. Argumentai apie ilgus variantus yra arba sujungti su opcija = ženklas, kuriame nėra įsiterpiančių vietų, arba jie gali būti pateikti kitame komandinė eilutė argumentas. Ilgi variantai gali būti sutrumpinti, jei sutrumpinimas išlieka unikalus.

Be to, kiekvienoje ilgoje parinktyje yra atitinkama trumpa parinktis, kad pasirinkimo funkciją būtų galima naudoti iš „in“ #! vykdomas scenarijus .



Galimybės

-f programos failas ,
--failas programos failas
Perskaitykite AWK programos šaltinį iš failo programos failas , o ne iš pirmosios komandinės eilutės argumento. Daugkartinis -f (arba --failas ) gali būti naudojamos parinktys.
-F fs ,
- lauko separatorius fs
Naudokite fs įvesties lauko separatoriui (reikšmė FS iš anksto apibrėžtas kintamasis ).
-v kur = val ,
- paskyrimas kur = val
Priskirkite vertę val prie kintamojo kur , prieš pradedant vykdyti programą. Tokios kintamosios vertės yra prieinamos PRADŽIA AWK programos blokas.
-b ,
- simboliai kaip baitai
Visus įvesties duomenis traktuokite kaip vieno baito simbolius. Kitaip tariant, nekreipkite dėmesio į lokalės informaciją, kai bandote apdoroti eilutes kaip kelių baitų simbolius. --pastatas parinktis nepaiso šios parinkties.
-c , - tradicinis Vykdyti suderinamumo režimu. Suderinamumo režime „gawk“ elgiasi taip pat, kaip ir „UNIX awk“; nė vienas iš GNU specifinių plėtinių nėra atpažįstamas.
-C , --autorių teisės Atspausdinkite trumpą GNU autorių teisių pranešimo versiją ant standartinės išvesties ir sėkmingai išeikite.
-d [ failą ],
--dump-kintamieji [= failą ]
Spausdinkite rūšiuojamą visuotinių kintamųjų, jų tipų ir galutinių reikšmių sąrašą failą . Jei ne failą yra teikiama, gawk naudoja failą pavadinimu awkvars.out dabartiniame kataloge. Turėdami visų visuotinių kintamųjų sąrašą, galite ieškoti spausdinimo klaidų savo programose. Taip pat naudosite šią parinktį, jei turite didelę programą su daugybe funkcijų ir norite būti tikri, kad jūsų funkcijos netyčia nenaudoja globalių kintamųjų, kuriuos norėjote laikyti vietiniais. Tai yra ypač lengva padaryti naudojant paprastus kintamųjų pavadinimus, pvz., i , j ir panašiai.
-yra programa-tekstas ,
- šaltinis programa-tekstas
Naudokite programos tekstą kaip AWK programos šaltinio kodą. Ši parinktis leidžia lengvai sujungti bibliotekos funkcijas (naudojamas per -f ir --failas parinktys) su šaltinio kodu, įvestu komandų programose, naudojamose „shell“ scenarijuose.
-IS failą , - exec failą Panašus į -f tačiau ši parinktis yra paskutinė apdorota. Tai turėtų būti naudojama su #! scenarijus, ypač CGI programas, kad komandų eilutėje neperduotumėte parinkčių ar šaltinio kodo (!!!) iš a URL . Ši parinktis išjungia komandinės eilutės kintamųjų priskyrimus.
-g , - gen-pot Nuskaitykite ir išanalizuokite AWK programą ir sugeneruokite GNU .potas (Portable Object Template) formato failas standartiniame išvestyje su įrašais į visas lokalizuojamas programos eilutes. Pati programa nevykdoma. Norėdami gauti daugiau informacijos, žr. GNU gettext platinimą .potas failus.
-h , --pagalba Standartiniame išvestyje atspausdinkite galimų parinkčių santrauką. Pagal GNU kodavimo standartus šios parinktys leidžia nedelsiant ir sėkmingai išeiti.
-L [ vertė ],
- pūkelis [ = vertė ]
Pateikite įspėjimus apie konstrukcijas, kurios yra abejotinos arba kurių negalima perkelti į kitus AWK diegimus. Jei pasirenkamas mirtinas argumentas, pūkų įspėjimai tampa lemtingomis klaidomis. Tai gali būti drastiška, tačiau jo naudojimas tikrai skatina kurti švaresnes AWK programas. Pasirenkant negaliojančiu argumentą, pateikiami tik įspėjimai apie dalykus, kurie iš tikrųjų yra neteisingi. Pastaba: tai dar nėra visiškai įgyvendinta.
-n , - ne dešimtainiai duomenys Atpažinkite aštuonias ir šešioliktainis vertės įvesties duomenyse. Naudokite šią parinktį labai atsargiai!
-N , - use-lc-skaitinis Tai verčia gawk analizuojant įvesties duomenis naudoti lokalės dešimtainį ženklą. Nors POSIX standartas reikalauja tokio elgesio, o gawk tai daro, kai --pastatas iš tikrųjų yra numatytasis įprastas elgesys ir taškas kaip kablelis naudojamas net vietovėse, kur laikotarpis nėra dešimtainis kablelis. Ši parinktis nepaiso numatytojo elgesio, be visiško drakoniško griežtumo --pastatas variantą.
-AI , - optimizuoti Įgalinti vidinio programos atvaizdavimo optimizavimą. Šiuo metu tai apima tik paprastą nuolatinį lankstymą. gawk prižiūrėtojas tikisi laikui bėgant pridėti papildomų optimizacijų.
-p [ prof_file ],
--profilis [ = prof_file ]
Siųsti profiliavimo duomenis į prof_file . Numatytasis yra awkprof.out . Kai paleisti su gawk , profilis yra „gana atspausdinta“ programos versija. Kai paleisti su pgawk , profilyje yra kiekvieno programos sakinio vykdymo skaičius kairiajame paraštėje ir kiekvienos vartotojo nustatytos funkcijos skambučių skaičius.
-P , --pastatas Tai įjungia suderinamumo režimą su šiais papildomais apribojimais:

x pabėgimo sekos neatpažįstamos.

Tik vietos ir skirtuką veikti kaip lauko separatoriai, kai FS yra nustatytas į vieną tarpą, „newline“ ne.

Po to negalite tęsti eilučių ? ir :

Sinonimas funkcija raktinio žodžio funkcija neatpažįstama.

Operatoriai ** ir ** = negali būti naudojamas vietoje ^ ir ^ =

fflush () funkcija negalima.
-r , - pertrauka Įgalinkite intervalų išraiškų naudojimą reguliarių išraiškų atitikime. Intervalinės išraiškos tradiciškai nebuvo prieinamos AWK kalba. Pagaminti juos pridėjo POSIX standartas awk ir egrep nuoseklus. Pagal numatytuosius nustatymus jie įgalinti, tačiau ši parinktis lieka naudoti su - tradicinis .
-R , - komandų failas Dgawk tik. Skaityti saugomas derintuvo komandas iš failo.
-S , - smėlio dėžė Bėga gawk „sandbox“ režimu išjungdami sistema () funkcija, įvesties peradresavimas naudojant getline , išvesties peradresavimas naudojant spausdinti ir printf ir įkeliami dinaminiai plėtiniai. Taip pat išjungtas komandos vykdymas (vamzdynais). Tai veiksmingai blokuoja scenarijų prieigą prie vietinių išteklių (išskyrus failus, nurodytus komandinėje eilutėje).
-t , - pūkelis senas Pateikite įspėjimus apie konstrukcijas, kurių negalima perkelti į pradinę „Unix awk“ versiją.
-V , --versija Spausdinkite šios konkrečios „gawk“ kopijos versijos informaciją standartinėje išvestyje. Tai naudinga daugiausia norint sužinoti, ar dabartinė „gawk“ kopija jūsų sistemoje yra atnaujinta, atsižvelgiant į tai, ką platina „Free Software Foundation“. Tai taip pat naudinga pranešant apie klaidas. Pagal GNU kodavimo standartus šios parinktys leidžia nedelsiant ir sėkmingai išeiti.
- Signalizuokite parinkčių pabaigą. Tai naudinga, kad kiti argumentai pačiai AWK programai galėtų prasidėti „ - '. Tai užtikrina nuoseklumą su daugumos kitų POSIX programų naudojama argumentų analizės tvarka.

Suderinamumo režime visos kitos parinktys pažymimos kaip netinkamos, tačiau kitaip ignoruojamos. Įprastiniu režimu, kol pateikiamas programos tekstas, nežinomos parinktys ARGV masyve perduodamos AWK programai apdoroti. Tai ypač naudinga vykdant AWK programas per „ #! vykdomojo vertėjo mechanizmas.

AWK programos vykdymas

AWK programą sudaro šablono-veiksmo sakinių seka ir pasirinktiniai funkcijų apibrėžimai.

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

gawk pirmiausia skaito programos šaltinį iš programos failas s) jei nurodyta, nuo argumentų iki - šaltinis , arba iš pirmojo ne parinkties argumento komandinėje eilutėje. -f ir - šaltinis parinktys gali būti naudojamos kelis kartus komandinėje eilutėje. gawk skaito programos tekstą taip, lyg visi programos failai ir komandinės eilutės šaltinio tekstai būtų buvę susieta . Tai naudinga kuriant AWK funkcijų bibliotekas, nereikia jų įtraukti į kiekvieną naują jas naudojančią AWK programą. Tai taip pat suteikia galimybę maišyti bibliotekos funkcijas su komandinės eilutės programomis.

Be to, eilutės, prasidedančios @ įtraukti gali būti naudojamas įtraukiant kitus šaltinio failus į jūsų programą, kad biblioteką būtų dar lengviau naudoti.

aplinkos kintamasis AWKPATH nurodo paieškos kelią, kurį reikia naudoti ieškant šaltinio failų, pavadintų -f variantą. Jei šio kintamojo nėra, numatytasis kelias yra „ .: / usr / local / share / awk '. Tikrasis katalogas gali skirtis, priklausomai nuo to, kaip gawk buvo pastatytas ir sumontuotas. Jei failui suteiktas -f parinktyje yra ' / 'simbolis, kelio paieška neatliekama.

gawk vykdo AWK programas tokia tvarka. Pirma, visi kintamieji priskyrimai, nurodyti per -v variantas. Kitas, gawk sudaro programą į vidinę formą. Tada gawk įvykdo kodą BEGIN (-uose) bloke (-uose) (jei yra), tada perskaito kiekvieną failą, pavadintą ARGV masyvas (iki ARGV [ARGC] ). Jei komandinėje eilutėje nėra pavadintų failų, gawk nuskaito standartinę įvestį.

Jei failo vardas komandinėje eilutėje turi formą kur = val tai traktuojama kaip kintama užduotis. Kintamasis kur priskiriama vertė val . Tai atsitinka po bet kurio PRADŽIA paleidžiami blokai. Komandinės eilutės kintamųjų priskyrimas yra naudingiausias dinamiškai priskiriant reikšmes kintamiesiems, kuriuos AWK naudoja valdyti, kaip įvestis suskaidoma į laukus ir įrašus. Tai taip pat naudinga kontroliuojant būseną, jei vienam duomenų failui reikalingi keli leidimai.

Jei tam tikro elemento vertė ARGV Yra tuščias (''), gawk tai praleidžia.

Kiekvienam įvesties failui, jei a PRADĖTI FILE egzistuoja taisyklė, gawk vykdo susietą kodą prieš apdorodamas failo turinį. Panašiai gawk vykdo kodą, susietą su ENDFILIUOTI apdorojus failą.

Kiekvienam įvesties įrašui gawk testuoja, ar jis atitinka kurį nors AWK programos modelį. Su kiekvienu modeliu, kurį atitinka įrašas, atliekamas susijęs veiksmas. Šablonai tikrinami ta tvarka, kokia jie yra programoje.

Galiausiai, išnaudojus visas įvestis, gawk vykdo kodą GALAS blokas (-ai) (jei yra).

Oficialus „gawk“ vartotojo vadovas

Jei norite sužinoti daugiau apie šią nepaprastai galingą kalbą, patikrinkite GNU „gawk“ vartotojo vadovas.

Pavyzdžiai

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

Atspausdinkite bendrą laukų skaičių visose įvesties eilutėse.

gawk 'length($0) > 80'

Spausdina kiekvieną ilgesnę nei 80 simbolių eilutę. Vienintelės taisyklės modelis yra reliacinė išraiška ir ji neturi jokio veiksmo (todėl naudojamas numatytasis veiksmas - įrašo spausdinimas).

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

Spausdina bendrą failų naudojamų baitų skaičių.

awk - AWK teksto apdorojimo programavimo kalbos vertėjas.
ir - teksto filtravimo ir transformavimo įrankis.


) > 80'

Spausdina kiekvieną ilgesnę nei 80 simbolių eilutę. Vienintelės taisyklės modelis yra reliacinė išraiška ir ji neturi jokio veiksmo (todėl naudojamas numatytasis veiksmas - įrašo spausdinimas).

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

Spausdina bendrą failų naudojamų baitų skaičių.

awk - AWK teksto apdorojimo programavimo kalbos vertėjas.
ir - teksto filtravimo ir transformavimo įrankis.

kur atsisiųsti youtube-dl