Léiert de Linux Command - gawk

Numm

Gawk - Muster Scann a Veraarbechtungssäit

Synopsis

gawk [POSIX oder GNU-Stil-Optionen] -F fir Programm Datei [ - ] Datei ...
gawk [POSIX oder GNU-Stil-Optiounen] [ - ] Programmt Text Datei ...

pgawk [POSIX oder GNU-Stil-Optionen] -F fir Programm Datei [ - ] Datei ...
pgawk [POSIX oder GNU-Stil-Optiounen] [ - ] Programmt Text Datei ...

Beschreiwung

Gawk ass d' GNU- Projektdirektioun vun der AWK Programmiersprache. Et entsprécht der Definitioun vun der Sprooch an der POSIX 1003.2 Command Language And Utilities Standard. Dës Versioun am Géigenzuch baséiert op der Beschreiwung vun der AWK Programméierungssprooch , Aho, Kernighan a Weinberger, mat den zousätzleche Funktiounen déi an der System V Release 4 Version vun UNIX awk fonnt goufen . Gawk bitt och méi neier Bell Laboratories awk Extensiounen an eng Rei vu GNU-spezifesch Extensiounen.

Pgawk ass déi profiléiert Versioun vu Gawk . Et ass an all Wee zu Gawk identesch , ausser datt d'Programmer méi lues lafen a si produzéiert automatesch en Executiounsprofil an der Datei awkprof.out, wann et fäerdeg ass. Kuckt d'-- profiloptioun , ënnert.

D'Kommandozeileng besteet aus Optiounen fir den Gawk selwer, den AWK Programm Text (wann net iwwer de -f oder --file Optiounen geliwwert) ass an d'Wäerter déi am ARGC- a ARGV viraus definéiert AWK-Variablen erstallt ginn.

Optioun Format

Gawk- Optiounen ginn entweder traditionell POSIX e Bréifoptiounen oder GNU-Stil laang Optiounen. POSIX Optiounen lafen mat engem eenzegen `` - '', während laang Fonktioune mat `` - '' starten. Länglech Optiounen ginn fir GNU-spezifesch Fonktiounen a fir POSIX-Mandater benotzt.

No der POSIX-Norm gi gawk -pezifesch Optiounen iwwer Argumenter op d'- W- Optioun geliwwert. Multiple -W- Optiounen ginn matgedeelt All -W Option huet eng entspriechend laang Optioun, wéi et hei ënnendrënner steet. Argumenter fir laang Optiounen sinn entweder mat der Opsiicht duerch en = Zeechen, ouni intervening Plazen, oder se kënnen am nächsten Kommandozeil Argument ubelaangt. Déi laang Optiounen kënnen abekoratéiert ginn, sou datt d'Ofkierzung e wéineg ass.

Optiounen

Gawk akzeptéiert dës Optiounen, déi alphabetesch klasséiert sinn.

- fs

- Feld-Separator fs Verwende fs fir den Input Field Separator (den Wert vun der véier definéierte Variabel).

-v var = val

--assign var = val D' Val val zu der variabelen Var ze bestellen , éier d'Ausféierung vum Programm beginn. Dëse variable Wäerter sinn am BEGIN- Block vun engem AWK Programm verfügbar.

-f Programméiert Datei

- Fichier- Programm-Datei Liese vun der AWK-Programmquelle aus der Dateieprogrammdatei , amplaz vun den éischte Kommandozeileng Argument. E puer -f (oder --file ) Optiounen kënnen benotzt ginn.

-NN NNN

-mr NNN Verschidde Grenze limitéieren fir den Wert NNN . De F flag setzt d'maximal Zuel vu Felder fest, an de r Fahne setzt déi maximal Rekordergréisst. Déi zwou Fändelen an d'- m Option sinn aus der Bell Laboratories Research Versioun vun UNIX awk . Si ginn ignoréiert vun Gawk , well Gawk keng viraefeg Grenzen huet.

-W kompatibel

-W traditionell

--compat

--traditional Lafen an Kompatibilitéitmodus . In Kompatibilitéitmodus behandelt d' Gawk identesch mat UNIX awk ; Keen vun den GNU-spezifeschen Extensioune ginn erkannt. D'Benotzung vun - traditionell ass viru méi wéi déi aner Form vun dëser Optioun. Kuckt d' GNU EXTENSIONS , drënner, fir méi Informatiounen.

-W copyleft

Urheberrechter

--copyleft

--copyright Den Kuerzversion vun der GNU-Copyformatioun-Informatiounsmessage op der Standardausstellung eraus a réckgängege Succès.

-W Dump-Variabelen [ = Datei ]

--dump-Variabelen [ = Datei ] Dréckt eng verschéckt Lëscht vu globale Variablen, hir Typen an endgülteg Wäerter. Wann kee Fichier gëtt, benotzt gawk e Fichier name awkvars.out am aktuellen Verwalten.

Eng Lëscht vun all de global Variablen ass eng gutt Manéier fir typographesch Feeler an Äre Programmer ze kucken. Dir hätt och dës Optioun benotzen wann Dir e grousst Programm mat vill Funktioun hutt. Dir wëllt sécher sinn datt Är Funktiounen net ignoréierend globale Variablen déi Dir géift ufänken lokal. (Dëst ass e ganz einfache Fehler mat einfacht Variatiounen wéi I , J , a sou weider.)

-W hëlleft

-W Benotzung

--help

--usage Drécken eng relativ kuerz Summermens iwwer déi verfügbaren Optiounen op der Standardausstellung. (De GNU-Codestandards , déi dës Optiounen verursaachen enger direkter, erfollegräicher Ausfahrt.)

-W Fues [ = fatale ]

--lint [ = fatale ] Suergt fir Warnungen iwwer Konstruktiounen déi dubiéiert oder net portabel sinn fir anerAWK-Implementatiounen. Mat engem optionalen Argument vun de fatalen Himmelswarnungen fatal Fehler. Dëst kann drastesch sinn, mä hir Benotzung wäert d'Entwécklung vun méi sauberen AWK Programmer encouragéieren.

-W Fues-al

--Lint-al Providere Warnungen iwwer Konstrukturen, déi net portabel mat der ursprénglecher Versioun vun Unix awk sinn .

-W gen-po

--gen-po Scannen a analyséieren den AWK Programm an generéieren eng GNU .po- Format Datei op Standardausgang mat Entreeë fir all lokaliséierbare Zeechen am Programm. De Programm selwer gëtt net gemaach. Gitt d'GNU- Gettextverbreedung fir méi Informatiounen iwwer .po Dateien.

-W net Dezimal-Donnéeën

--non Dezimal-Daten Erkënnegen octal- a hexadezimal Wäerter an den Input Daten. Benotzt dës Optioun mat grousser Vorsicht!

-W posix

--posix Dëst vergleicht Kompatibilitéitmodus , mat den folgenden zusätzlech Restriktiounen:

*

\ x Fluchsequenz gëtt net erkannt.

*

Nëmme Plaz a Tab war als Feldtrenner, wann FS op engem eenzegen Raum gesat ass, d'Zeilenheet net.

*

Dir kënnt net weider Zeilen hannert ? a :.

*

De Synonym func for der Schlësselwuert ass net unerkannt.

*

D'Betreiber ** an ** = däerf net an Plaz vum ^ an ^ = benotzt ginn .

*

Déi fofel () -Funktion ass net verfügbar.

-W Profil [ = prof_file ]

--profile [ = prof_file ] Versicht profiling Biller op prof_file . De Standard ass awkprof.out . Wann Dir mat Gawk laacht , gëtt de Profil just eng `` recht gedréckte '' Versioun vum Programm. Wann Dir mat pgawk ausgeführt gëtt , enthält de Profil Exekutiounen zielt vun all Ausso am Programm op der linker Margin a Funktioun Ruffaarf fir all user-defined Funktioun.

-W Reinterval

--re-interval Aktivéiert d'Benotzung vun Intervall Ausdréck a regulärer Äntwerte passend (kuck Regelméisseg Expressiounen , ënnen). Interval Ausdrock war net traditionell an der AWK Sprooch verfügbar. Den POSIX Standard huet se addéiert, fir awk an egrep konsequent mateneen ze maachen. D'Verwäertung ass awer wahrscheinlech fir al AWK Programmer ze bremsen, sou datt gawk nëmmen hinnen as, wann se mat dëser Optioun gefuerdert ginn oder wann --posix genannt gëtt.

-W-Quelltext -Text

--source programmtext Programmprogramm benotzen als AWK Programmquellcode. Dës Optioun erlaabt d'einfachen Intermixing vun Bibliothéiksfunktiounen (déi benotzt mat der -f an --file Optiounen) mat Quellcode, deen op der Kommandozeilegung agefouert gëtt. Et ass primär fir mëttlerweil grouss AWK Programme geplangt, déi an de Shellskripte benotzt ginn.

-W Versioun

--version Informatioun drucken fir dës bestëmmte Kopie vun gawk op der normaler Ausgab. Dëst ass nëtzlech haaptsächlech fir ze wëssen ob d'aktuell Kopie vun gawk op Ärem System aktuell ass, wat och ëmmer d'Free Software Foundation verdeelt. Dëst ass och nëtzlech wann Dir Bugs berichten. (De GNU-Codestandards , déi dës Optiounen verursaachen enger direkter, erfollegräicher Ausfahrt.)

- Suergt d'Enn vun den Optiounen. Dëst ass nëtzlech fir weider Argumenter fir den AWK-Programm selwer ze léisen mat engem `` - '' ze starten. Dëst ass haaptsächlech fir Konsequenz mat der Argumenter Analyse vum Konvent vun den meisten anere POSIX Programmer benotzt.

Am Kompatibilitéitmodus sinn all aner Optiounen als ongëlteg ze markéieren, awer soss näischt ignoréiert. An normaler Operatioun, soulaang wéi de Programmtext geliwwert gouf, ginn onbekannt Optionen un d'AWK Programm am ARGV- Array ze verdeelen fir d'Veraarbechtung ze kréien. Dëst ass besonnesch nëtzlech fir d'AWK Programmer ze lafen iwwer den `` #! '' Programm aus "executable interpreter".

AWK PROGRAM EXECUTION

Een AWK Programm besteet aus enger Sequenz vun Musteraktiouns- an optional Funktiounsdefinitiounen.

Muster { Aktiounen Aussoe }

Funktiounnam ( Parameter Lëscht ) { Aussoën }

Gawk liest d'Programm vun der Programmdatei (en) déi éischt uewendriwwer aus Argumenter op - Ressource oder vum éischt net opgetréinende Argument op der Kommandozeilung. De -f an --source options kënnen e puer Mol op der Kommandozeil benotzt ginn. Gawk liest de Programmtext als ob all d' Programmdatei an d'Command Line Quelltext Texter zesumme verkettelt hunn. Dëst ass nëtzlech fir d'Bautenbibliothéiken vun AWK-Fonktiounen ze maachen, ouni datt se se an all neit AWK-Programm beaflosse loossen, déi se benotzt. Et bitt och d'Fähigkeit fir Bibliothéiksfunktiounen mat Kommandozeilprogrammer ze mëschen.

D'Ëmfeld Variable AWKPATH spezifizéiert en Sichpfleeg ze benotzen wann Dir Quelldateie benannt hutt mat der -f Option genannt. Wann dës Variabel net existéiert, ass de Standardpfad ".: / Usr / local / share / awk" . (De aktuelle Verzeichnis kann variéieren, jee wéi d' Gawk gebaut a installéiert ass.) Wann e Fichiernumm deen der -f Option geännert huet e Charakter "Zeeche / Zeech" enthält, gëtt keng Weezung gemaach.

Gawk execéiert AWK Programmer an der folgender Bestellung. Als éischt ginn all Variablen Aschreiwungen déi op der -v Option spezifizéiert sinn, ausgefouert. Nee , gawk kompiléiert de Programm an eng intern Form. Dann gechk gawk den Code an den BEGIN- Block (en) (wann et se) ass, a féiert dann all Datei op, déi am ARGV- Array genannt ginn. Wa keng Dateien op der Kommandozeilung genannt ginn, liest de Gawk den Standardeingriff.

Wann e Fichiername op der Kommandozeilung d'Form var = val ass gëtt se als variabel Verdingung behandelt. D'Variabel Var ass de Valeur val zugewiesen. (Dëst geschitt nodeems ee BEGIN- Block (e) blockéiert ass.) Kommando Linn Variatioun ass ass nëtzlech fir dynamesch Wäerter ze verzeechnen fir d'Variablen AWK benotzt fir ze kontrolléieren wéi d'Input fir Felder a Rekorder opgebrach ass. Et ass och nëtzlech fir de Staat ze kontrolléieren wann verschidde Passagen iwwer eng eenzeg Dateie benotze ginn.

Wann de Wäert vun engem bestëmmten Element vum ARGV leeft ( "" ), gawk spritzt et iwwer.

Fir all Opzeechnung an der Input, gawk Tester fir ze kucken ob et mat engem Muster am AWK Programm passt. Fir all Muster déi d'Rekordspigel matdeelen, gëtt d'assoziéiert Aktioun ausgezeechent. D'Mustere ginn an der Uerdnung getest, déi se am Programm virstellen.

Schlussendlech, nodeems all d'Input erstallt ass, gawk de Code an den END Block (en) auszeféieren (wann iergendee).

Variablen, Records, a Felder

AWK - Variablen sinn dynamesch; Si kommen an d'Existenz wann se als éischt benotzt ginn. Seng Wäerter sinn entweder Floating-Punkte Zuelen oder Zeechen, oder zwee, jee wéi se benotzt ginn. AWK huet och e puer Dimensiounen; Arrays mat méi Dimensionen kënne simuléiert ginn. E puer vereinfacht Variablen ginn als Programm lafen; Dës sinn esou beschriwwen wéi néideg an zesummegefaasst.

Records

Normalerweis sinn Opmaache vun Zeechen vun den Zeilen ze trennen. Dir kënnt kontrolléieren wéi d'Akten duerch d'Wäerter zu der integréiert variabel RS getrennt ginn . Wann RS jiddereen Zeechen ass, gëtt den Zeechen opgetrueden. Oder awer ass e regulär Ausdrock. Text an der Input déi mat dëser regulärer Ausdréck mat dem Match entsprécht a seet de Rekord. Mä am Kompatibilitéitmodus ass nëmmen de éischten Charakter vum String-Wäert fir d'Opsaache vun de Rekorder benotzt. Wann RS op d'Null String gesat gëtt, sinn d'Aqueen duerch eidel Zeilen getrennt. Wann RS op d'Null String gesat gëtt, fënnt de Zeechenaarbecht ëmmer als Feldspartner, zousätzlech zu wéi e Wäert vu FS kann hunn.

Felder

Wéi all Input Record gëtt gelies, gawk splitt den Rekord op Felder , andeems de Wäert vun der FS- Variabel wéi den Feldtrenner benotzt. Wann FS en eenzegen Charakter ass, Felder ginn duerch dee Charakter getrennt. Wann FS de Null String ass, da gëtt all individuell Zeechen e separate Feld. An der Fuerderung gëtt de FS als voll Regelméisseg Expression erwächt. Am spezielle Fall datt FS e Raum ass, sinn Felder duerch Läschte vu Raumperioden an / oder Tabs a / oder Newlines getrennt. (A kuckt d'Diskussioun vu --positioun , ënner). NOTE: De Wäert vun IGNORECASE (kuckt hei ënnendrënner) befaasst och, wéi Felder gespuert ginn, wann FS e regelméisseg Ausdrock ass, a wéi d'Akten getrennt sinn, wann RS e reguläre Ausdrock ass.

Wann d'Variabel FIELDWIDTHS op eng Platz getrennt Lëscht vun Zuelen gesaat ass, gëtt all Felder mat enger fixer Breed uginn, an gawk spart den Rekord duerch d'spezifizéiert Breet. De Wäert vum FS gëtt ignoréiert. Assignéiert e neien Wert fir FS overrides d'Benotze vu FIELDWIDTHS , a setzt de Standardverhalen zréck.

All Felder am Input Record kënne vu senger Positioun referenzéiert sinn, $ 1 , $ 2 , a sou weider. $ 0 ass de ganze Rekord. Felder mussen net vu Konstanten referenzéiert sinn:

n = 5
print $ n

Dee fënnefte Feld an de Input Record.

De variablen NF gëtt op d'Gesamtzuel vun Felder an der Input Record gesat.

Referenzen zu net existente Felder (zB Felder no $ NF ) produzéieren den Zoll-String. Allerdéngs gëtt d'Zuordnung vun engem net existente Feld (z. B. $ (NF + 2) = 5 ) erhéicht de Wäert vun NF , erstellt all intervening Felder mat der Nullstëmmung als hirem Wäert, a veruersait de Wäert vun $ 0 , D'Felder ginn duerch den Wert vun OFS getrennt . Referenzen op negativ nummeréiert Felder verursaachen e fatalen Fehler. D'Decrementing NF verursaacht déi Wäerter vu Felder déi de neie Wäert verluer hunn verluer sinn an de Wäert vun $ 0 ze recomputéieren, mat de Felder déi duerch den Wert vun OFS getrennt sinn .

De Wäert vun engem existente Feld ze verursaache bewäert datt d'ganz Rekord opgebaut gëtt wann $ 0 referenzéiert gëtt. Andeems d'Assoziatioun vun engem Wäert op $ 0 verursacht de Rekord opzemaachen, a schreift nei Wäerter fir d'Felder.

Built-In Variablen

Gawk 's gebaut Variablen sinn:

ARGC

D'Zuel vun Argumenter vun Kommandozeilen (net op Optiounen no Gawk , oder d'Programmquell).

ARGIND

Den Index an ARGV vun der aktueller Datei gëtt veraarbecht.

ARGV

Array vu Kommandozeechen Argumenter. De Grupp gëtt indirekt vun 0 op d' ARGC - 1. De dynameschen Changement vum Inhalt vun ARGV kann d'Dateie fir d'Daten benotzen.

BINMODE

Op net-POSIX-Systeme spezifizéiert d'Benotzung vum "Binär" -Modus fir all Datei I / O. Numeresch Wäerter vun 1, 2 oder 3, spezifizéieren datt Input Dateien, Ausgabdateien, oder all Dateiespäicher benotze sollen binär I / O benotzen. String Wäerter vu "r" oder "w" spezifizéieren datt Input Dateien oder Ausgabdateien respektéiert sinn d'binär E / A. String Wäerter vu "rw" oder "wr" spezifizéieren datt all Dateie binär I / O benotzen. All anere String-Wäert gëtt als "rw" behandelt , mee generéiert eng Warnmeldung.

CONVFMT

De Konversatiounsformat fir Zuelen, "% .6g" , par défaut.

ENVIRON

Een Array mat den Wäerter vun der aktueller Ëmwelt. De Grupp gëtt indirekt duerch d'Ëmweltvariablen indizéiert, wou all Element den Wert vun där Variabel ass (zB ENVIRON ["HOME"] ass / home / arnold ). Dës Änneren änneren net d'Ëmwelt déi vu Programmer gesehen huet, déi Gawk duerch Ëmleitung oder System () funktionéiert.

ERRNO

Wann e Systemfehler opfuerdert , entweder eng Environnement fir Ginn , während engem Lies fir Gëllener , oder während enger Entschloss () , dann ERRNO enthält e String, deen den Fehler beschreift. De Wäert ass iwwregens iwwersetzt an net-englesch Géigespiller.

FIELDWIDTHS

Eng wäissbar Platz ofgetrennt Lëscht vu Feldwieder. Wann set, gawk analyséiert d'Input op Felder vun fixer Breet, anstatt de Wäert vun der FS- Variabelen ze benotzen wéi den Feldabscheider.

FICHIERSNUMM

De Numm vun der aktueller Inputdatei. Wa keng Dateien op der Kommandozeil u spezifizéiert sinn, ass de Wäert vum FILENAME '`-' '. Allerdéngs ass FILENAME net definéiert am BEGIN-Bösch (ausser de Präisgrenz ).

FNR

D'Input Record Nummer an der aktueller Input Datei.

FS

Den Input Field Separator, e Raum fir Standard. Kuckt d' Felder , virun.

IGNORECASE

Kontrolléiert d'Case-Empfindlechkeet vun all regulären Ausdehnung a String-Operatiounen. Wann d' IGNORECASE en Net-Null-Wäert huet, dann Stringvergläicher a Muster, déi mat Regelen passen, Feld opgedeelt mat FS , Rekordtrennung mat RS , regelméisseg Ausdréck mat ~ a ! ~ , An den Gensub () , gsub () , Index () , Match () , Split () , an Ënner () Built-Funktiounen all Fall ignoréiere wann Dir regelméisseg Ausdréck Operatiounen mécht. NOTE: Array-Subscriptioun gëtt net beaflosst, an och d' asort () -Funktion.

Also, wann d' IGNORECASE net gläich Null ass, / aB / mat all den Zeilen "ab" , "a" , "Ab" a "AB" . Esou wéi all AWK-Variabelen ass de Startwert vun IGNORECASE Null, sou datt all regulär Ausdréck a String-Operatiounen normalerweis Fall-sensibel sinn. Ënnert Unix gëtt de komplette ISO 8859-1 Zeechentyp vun der Zeechent benotzt wann een den Fall ignoréiert.

LINT

Gitt dynamesch Kontroll vun der - Lint Optioun aus engem AWK Programm. Wann ech richteg sinn, dréckt d'Warnunge vir. Wann falsch ass et net. Wann déi Zeechestëmmung "fatal" ass , sinn Fënstwarnungen fatal Fehler, genee wéi - Lint = fatal . All aner wichtegen Wert just dréckt Warnungen.

NF

D'Zuel vu Felder am aktuellen Input Record.

NR

Déi total Zuel vun Input Record Dat bis elo gesäit.

OFMT

D'Ausgabformater fir Zuelen, "% .6g" , par défaut.

OFS

D'Ausgab Feldfaart, e Raum fir Standard.

ORS

Den Output-Record-Separator, fir eng Defaultline.

PROCINFO

D'Elementer vun dësem Array erlaaben Zougang zu Informatiounen iwwer dem laangen AWK Programm. Op verschidden Systemer kënnt et Elementer am Array, "group1" duerch "Grupp n " fir e puer n , wat d'Zuel vun Ergänzungsgruppen ass, déi de Prozess huet. Benotzt de Operateur fir dës Elementer ze testen. Déi folgend Elementer ginn garantéiert:

PROCINFO ["Äschewier"]

De Wäert vun der getegid (2) Systemruff.

PROCINFO ["Euid"]

De Wäert vun der geteuid (2) Systemruff.

PROCINFO ["FS"]

"FS", wann Feld mat der FS spletéiert , oder "FIELDWIDTHS", wann d'Feldfaart mat FIELDWIDTHS spillt.

PROCINFO ["gid"]

De Wäert vun der getgid (2) Systemrufnummer.

PROCINFO ["pgrpid"]

d'Prozess Grupp ID vum aktuellen Prozess.

PROCINFO ["pid"]

d'Prozedur ID vum aktuellen Prozess.

PROCINFO ["ppid"]

d'Elteren Prozess ID vun dem aktuellen Prozess.

PROCINFO ["uid"]

de Wäert vun der Schwämm (2) Systemruf.

RS

Den Input-Record-Separator, fir eng Defaultline.

RT

De Rekordterminor. Gawk setzt RT op den Input-Text, deen dem Charakter oder dem regulären Ausdréck mat RS festgeluecht huet .

RSTART

Den Index vun der éischter Zeechesprooch mat engem Match () ; 0 wann kee Match. (Dëst bemierkt datt Charakterindizes op ee sinn.)

RLENGTH

D'Längt vun der Saach mat Match () ; -1 wann net Match.

SUBSEP

De Charakter benotzt fir verschidde Ënnerschreiwe vun Array Elementer ze trennen, " default " \ 034 .

TEXTDOMAIN

Den Textberäich vum AWK Programm; fir d'lokaliséiert Iwwersetzungen fir d'Strings vum Programm ze fannen.

Arrays

D'Arrays ginn ënnerschriwwe mat engem Ausdrock tëscht quadratesche Klammern ( [ an ] ). Wann den Ausdruck eng Ausdruckslëscht ( expr , expr ...) ass, dann ass d'Array Subscript e String, deen aus der Verkéierung vum (String-) Wäert vun all Expression besteet, déi duerch de Wäert vun der SUBSEP Variablen getrennt ass. Dës Fazilitéit gëtt benotzt fir méi multiplizéiert dimensionéiert Arrays ze simuléieren. Zum Beispill:

i = "A"; j = "B"; k = "C"
x [i, j, k] = "Hallo, Welt \ n"

den Acompte "Hallo, Welt \ n" dem Element vun der Array x , déi duerch d'String "A \ 034B \ 034C" indizéiert gëtt . All Arrays an AWK sinn assoziativ, dh indexéiert vun String-Wäerter.

De spezielle Betreiber kann an engem wann oder während der Erklärung benotzt ginn, fir ze kucken, ob e Grupp huet en Index, deen aus engem bestëmmte Wäert besteet.

Wann (val array) druckarray [val]

Wann de Array méi Ënnersichungen hutt, benotzt (i, j) an Array .

De Konstrukt kann och an enger For- Schleife benotzt ginn fir iwwer all Elementer vun engem Array ze fléien.

Een Element kann aus engem Array geläscht ginn mat der Législatioun . Déi Méisproochegklärung kann och benotzt ginn fir de ganzen Inhalt vun engem Array ze läschen, just andeems de ArrayName ouni Ënnerschnëtt ze spezifizéieren ass.

Variable Typing And Conversion

Variablen a Felder kënnen (Floating Point) Nummeren, oder Zeechen, oder béid sinn. Wéi de Wäert vun enger Variabel gëtt interpretéiert hängt vun sengem Kontext. Wann se an enger numerescher Auswierkunge benotzt ginn, gëtt se als Zuel behandelt, wann se als String benotzt ginn, gëtt se als String behandelt.

Fir eng Variabel ze zwéngen, déi als Zuel behandelt ze ginn, addéiere 0 un; fir datt et drun ass wéi e String behandelt ze hunn, et mat der Nullstéck ze verkafen.

Wann e String an eng Ziffer ëmgewandelt gëtt, gëtt d'Ëmrechnung mat Stréck (3) erreecht. Eng Ziffer gëtt zu enger Saach konvertéiert mat dem Wäert vun der CONVFMT als Format Zeechen fir sprintf (3), mat dem Zifferenwert vun der Variabel als Argument. Allerdéngs, obwuel alle Zuelen an AWK Flëssegkeetspunkt sinn, integral Wäerter sinn ëmmer als Ganzt konvertéiert. Sou gëtt gegeben

CONVFMT = "% 2,2f" a = 12 b = a ""

D'Variabel b huet e Stringwert vun "12" an net "12.00" .

Gawk performt Vergläicher wéi folgend: Wann zwou Variablen numeresch sinn, gi se numeresch verglach. Wann een Wert e numeresche gëtt an deen aneren huet e String-Wäert, dat e '`numeresche String' ass, dann vergläicht och numeresch Zuel. Sinn den numeresche Wäert an eng Saach konvertéiert an e Saitvergleich gëtt gemaach. Zwee Stécker ginn natierlech als Strings verglach. Bedenkt datt den POSIX-Standard d'Konzept vun `` numeresch String '' iwwerall fonktionéiert, souguer fir Stroum Konstanten. Allerdéngs ass dat kloer falsch, a Gawk net dat gemaach. (Glécklech dat ass an der nächster Versioun vum Standard fixéiert.)

Bedenkt datt Stringkonstanten, wéi "57" , net numeresch Zeechen sinn, si String Konstanten. D'Iddi vu `` numeresch String '' gëlt nëmme fir Felder, Ginnendang , FILENAME , ARGV Elementer, ENVIRON Elementer an d'Elementer vun engem Array, deen duerch Spaltung () benotzt gëtt , déi numeresch Saiten sinn. Déi Basis Idee ass datt Benotzer Input , an nëmme Benotzer Input, déi Numerik aussoe misst, sou behandelt ginn.

Initialiséierter Variablen hunn den numeresche Wäert 0 a de String-Wäert "" (d'Null, oder eidel, String).

Octal a Hexadezimal Konstanten

Vun der Versioun 3.1 vun Gawk kanns du d'Octal a hexadezimal Konstanten C-style an Ärem AWK Programmquellcode benotzen. Zum Beispill gëtt den Ofdreiwungswert 011 egal mat Dezimal 9 , an den Hexadezimaler Wäert 0x11 ass gläich wéi d'Dezimal 17.

String Konstanten

String-Konstanten an AWK sinn Sequenzen vun Zeechen, déi tëschent doppelte Zitater ( " ) ginn." Duerch Strings gëtt verschidde Fluchsequenzen unerkannt, wéi an C. Dës sinn:

\\

E literarescht Réckslash.

\ a

De `` alert '' Charakter; normalerweis d'ASCII BEL Zeechen.

\ b

Réckspace.

\ f

Formular ginn.

\ n

nei Linn.

\ r

Wagon zeréckzeschecken.

\ t

horizontal Tab.

\ v

vertikal Tab.

\ x Hexzifferen

De Zeechner representéiert duerch Zeechefiguren hexadezimal Zifferen no der \ x . Wéi an ANSIC sinn all hexadezimal Zifferen als Deel vun der Fluchsequenz. (Dës Funktioun soll e puer soen iwwert de Sproocheplang vum Comité.) Eg. "\ X1B" ass den ASCIIESC (Fluch) Charakter.

\ ddd

De Charakter, dee vun der 1-, 2- oder 3-stelliger Sequenz vun octal Zifferen vertruede gëtt. Egal "\ 033" ass den ASCII ESC (Fluch) Zeechen.

\ c

De literaresche Charakter c .

D'Fluchsequenzen kënnen och innerhalb konstante regulär Ausdrécke benotzt ginn (zB / [\ t \ f \ n \ r \ v] / mat Whitespace Zeechen).

Am Kompatibilitéitmodus sinn d'Zeeche vun der Octa-a ​​hexadezimaler Fluchsequenz vertruede ginn a wuertwiertlech behandelt ginn wann se an regulären Ausdréck konstanten benotzt ginn. Dofir ass / a / 52b / entsprécht / a / * b / .

Patterns an Actions

AWK ass eng linienorientéiert Sprooch. De Muster kënnt éischter, an dann d'Aktioun. Aktiounen Aussoen sinn an { an } zougelooss. Entweder kann d'Muster fehlen, oder d'Handlung ka fehlen, mee natierlech natierlech net. Wann d'Muster fehlt, gëtt d'Aktioun fir all Zuelen vun der Input ausgeführt. Eng fehlend Aktioun ass gläichwäerteg

{print}

déi de ganzen Rekord opginn.

Kommentéieren ufänken mat dem `` # '' Charakter, a weider bis zum Enn vun der Linn. Blank Zeilen kënne benotzt ginn fir Aussoen opzehuelen. Normalerweis endlech eng Ausso endlech mat enger Newline, awer dat ass net de Fall fir Linnen déi an engem ``, '', { , ? , : && , oder || . Lines an do oder och hunn hir Aussoen automatesch op der folgender Linn weidergespillt. An anere Fäll kann eng Zeil weider fortgesat ginn, andeems et mat engem '' endegt, a wéi eng Fall gëtt d'Newline ignoréiert.

Verschidden Aussoen kënnen op enger Linn sinn, andeems se se mat engem '`;' 'ze trennen. Dëst gëllt fir d'Aussoën am Aktionskaart vun engem Muster-Action-Paar (dem gewéinleche Fall) an d'Musteraktioun selwer.

Muster

AWK Modelle kënnen eng vun de folgende sinn:

BEGINN END / regulär Ausdrock / Relatioun expressionsmuster && Mustermuster || Mustermuster ? Muster : Muster ( Muster ) ! Muster pattern1 , pattern2

BEGIN an END sinn zwee spezielle Muster vun Mustern déi net géint d'Input gepréift ginn. D'Aktiounste vun all BEGIN Muster gi fusionéiert wéi wann all d'Aussoen zu engem eenzegen BEGIN- Block geschriwwe goufen. Si ginn viru irgendeng vun der Input ausgeführt. An allefalls sinn all d' END- Blocene fusionéiert an ausgehandelt wann all d'Input erschöpft ass (oder wann eng Exit- Statement ausgezeechent gëtt). BEGIN an END Muster kënnen net mat anere Mustere mat Musterausdréck ze kombinéiere sinn. OPSCHREIWEN an END- Muster kënnen keng Aktiounsteeler hunn.

Fir / Regelméisseg Ausdrock / Muster, gëtt d'assoziéiert Erklärung fir all Input Record, deen mat dem reguläre Ausdrogem passt. Regelméisseg Ausdréck sinn déi selwecht wéi déi am Egrep (1), a sinn zesummegefaasst.

En relationalen Ausdrocksënnend kann een vun den Operateur, déi hei ënnendrënner am Abschnitt iwwer Aktiounen definéiert sinn, benotzen. Dës allgemeng testen, ob verschidde Felder mat enger regulärer Ausdrock passen.

De && , || , an ! D'Operatoren sinn logesch an d'logesch ODER a logesch NOT, wéi an C. Si maachen d'Ausgrenzung vu Kurzschluss, och wéi an C, a si ginn fir méi primitive Musterausdréck ze kombinéieren. Wéi an de meeschte Sproochen däerfen d'Klengen d'Wuert vun der Evaluatioun änneren.

De ?: Operator ass wéi deen selwechten Operator bei C. Wann d'éischte Muster wier ass, dann ass d'Muster fir Testen den zweeten Muster, soss ass et drëtt. Nëmme just ee vun der zweeter a drëtt Mustermappe gëtt evaluéiert.

D' pattern1 , pattern2- Form vun engem Ausdrock gëtt e Räichmuster genannt. Et Match mat alle Input Datebank mat engem Rekord mat Ufuerderes pattern1 , a weider bis zu engem Rekord mat Ufuerderunge2 , inclusive. Et kombinéiert net mat enger aner Zort Musterwierk.

Regular Expressions

Regelméisseg Ausdréck sinn déi erweidert Art, déi am Egrep fonnt gouf . Si besteet aus Charakteren wéi folgend:

c

mat der net metacharakter c .

\ c

mat dem literalen Charakter c .

.

All Charakter mat der Newline Match mat.

^

am Match vun enger Saach.

$

ass mat dem Enn vun enger Saach gewunnt.

[ abc ... ]

Charakter Lëscht, mat engem vun den Zeechen abc ....

[^ abc ... ]

negatéiert Zeecheklaratioun, mat all Charakter ausser abc ....

r1 | r2

Alternioun: Match mat r1 oder r2 .

r1r2

Verkettung: Match u r1 , an dann r2 .

r +

mat engem oder méi r .

r *

Match null oder méi r .

r ?

mat engem Null oder enger r .

( r )

Gruppéierung: Matcher u.

r { n }

r { n ,}

r { n , m } Ee oder zwee Zuelen am Hannergrëff bedeit en Intervall Ausdrock . Wann et eng Zuel an de Klameren ass, gëtt de virdrun regelméisseg Ausdruck r n repetéiert. Wann et zwou Zuelen gëtt duerch en Komma getrennt sinn, gëtt r n n m u m widderhuelen. Wann et eng Ziffer ass mat engem Comma gefuer, da gëtt r op d'mannst n times erëm.

Interval Ausdréck sinn nëmme disponibel wann entweder - Positiounen oder - Reintervall op der Kommandozeechnung ass.

\ y

passend op déi eidel String um Ufank oder Enn vun engem Wuert.

\ B

passend op déi eidel String an e Wuert.

\ <

passend zum eegene Sait am Begrëff vun engem Wuert.

\>

passend op déi eidel String am Enn vum Wuert.

\ w

mat engem Wuert-konstituanten Zeechen (Buch, Ziffer oder Ënnerscore).

\ W

mat engem Charakter deen net Wuert-Bestanddeeg ass.

\ `

passend op déi eidel String am Ufank vun engem Puffer (Sait).

\ '

passend op déi eidel String am Enn vun engem Puffer.

D'Fluchtsequenzen déi valabel mat String-Konstanten sinn (kuckt hei ënnendrënner) sinn och gëlteg a regulär Ausdrock.

Charakter Klassen sinn eng nei Fonktioun déi am POSIX-Standard agefouert gëtt. Eng Zeecheklass ass eng speziell Notioun fir Beschreiwungen vun Zeechen ze beschreiwen, déi e spezifeschen Attribut hunn, mä wou déi eigentlech Zeeche selwer vu Land zu Land variéieren an / oder vum Zeechen, deen op Zeechentiffer ze setzen ass. Zum Beispill, d'Notioun vun deem e alphabétësche Charakter ënnerscheet an den USA a Frankräich.

Eng Zeecheklass ass nëmme gülteg an engem regulären Ausdrock an de Klammeren vun enger Zeecheliste. Character Classes besteet aus [: , een Schlësselwuert deem d'Klass, an :] . D'Zeechclassen definéiert duerch de POSIX Standard:

[: Alnum:]

Alphanumeresch Zeechen.

[: Alpha:]

Alphabetesch Zeechen.

[: Leer:]

Space oder Tabulator Zeechen.

[: cntrl:]

Kontrollfiguren.

[: Ziffer:]

Numeresch Zeechen.

[: Grafik]

Charaktere déi souwäit drauwen a sichtbar sinn. (Een Raum ass bedréckt, awer net sichtbar, en ass e béid.)

[: ënnrënner:]

Ënnescht Alphabetesch Zeechen.

[: drécken]

Drukabel Zeechen (Zeechen, déi net Kontrollfiguren sinn.)

[: Punkt:]

Punctuatiounsfiguren (Zeechen, déi net Bréifer, Zifferen, Kontrollfiguren oder Raumfigur).

[: Espace:]

Space Zeechen (wéi zum Beispill Plaatz, Tab un a formfeed, fir e puer ze nennen).

[: iewescht:]

Upper-Alphabet Alphabetesch Zeechen.

[: xdigit:]

Charaktere déi hexadezimal Zifferen sinn.

Zum Beispill, ier de POSIX-Standard, mat alphanumeresche Zeechen ze passen, musst Dir / / [A-Za-z0-9] / . Wann Ären Zeechentyp aner Alphabetesch Zeechen huet ass et net mat hinnen ze spillen, a wann Är Zeechespaart vun ASCII ënnerschiddlech uginn ass, kann dat net souguer mat den ASCII alphanumeresche Zeechen passen. Mat der POSIX Charakter Klassen, kënnt Dir / / [[: alnum:]] / , an dat mat den alphabeteschen a numeresche Charaktere vun Ärem Zeechentrée entsprécht.

Zwee zousätzlech Spezialsequenzen kënnen an Charakteristiken sinn. Dëst gëlt fir net ASCII Zeecher-Sets, déi eenzeg Symboler (sougenannte Kollaboratiounselementer ) hunn, déi mat méi wéi engem Charakter repräsentéiert sinn, an och verschidden Zeechen, déi fir d' Kolliatioun oder d'Sortéierungsziler gläichzäiteg sinn. (Eg, op Franséisch, e plain '`e' 'an e grave-accented e` ass equivalent.)

Collating Symbolen

Ee kollaboréiert Symbol ass e Multi-Charakter Kollaboratiounselement an [[. an .] . Zum Beispill, wann ch e Kollatement ass, dann ass [[.ch.]] E regelméisseg Ausdrock, deen mat dësem kollatiséierend Element passt, während [ch] e regelméisseg Ausdrock ass, deen entweder c oder h ass .

Equivalence Classes

Eng Equivalence-Klasse ass e locale-spezifeschen Numm fir eng Lëscht vun Zeechen, déi entspriechend sinn. Den Numm ass an engem [= an =] geklomm . Zum Beispill kann de Numm e Wuert benotzt ginn fir all "e", "e", "" a "` e "" ze vertrieden. "An dësem Fall ass [[= = ==] mat engem vun e , e ' oder e` .

Dës Funktiounen si ganz wertvoll an net engleschsproocheg Lokales. D'Bibliothéiksfunktiounen, déi gawk fir regelméisseg Ausgrenz benotze mat deem momentan nëmmen POSIX Charakter Klassen erkennen; Si erkennen net zesummeschaffen Symboler oder Äquivalenzklassen.

D' \ y , \ B , \ < , \> , \ w , \ W , \ ` , a " Operatoren sinn spezifesch fir Gawk ; Si sinn Extensiounen op Basis vun Ariichtungen an de GNU Regular Expression Bibliothéiken.

Déi verschidde Kommandozeilenoptiounen kontrolléieren wéi Gawk interpretéiert Zeechen an regulär Ausdrock.

Keng Optiounen

Am Standardfall gëllen all déi Facilitéite vun de POSIX regulären Ausdréck a Gittaren déi regulär Ausdréckoperateur déi uewen beschriwwen hunn. Intervall Ausdrock ginn net ënnerstëtzt.

--positioun

Nëmmen POSIX regulär Ausdrock ginn ënnerstëtzt, d'GNU-Betreiber sinn net speziell. (Eg, \ w passt mat engem wonnwollege w ). Interval Ausdréck si gestuerwen.

- traditionell

Traditionell Unix awk Regelméisseg Ausdréck si matenee verbonnen. D'GNU-Betreiber sinn net speziell, Intervall-Ausdréck sinn net verfügbar an weder sinn d'POSIX Charakter Klassen ( [[: alnum:]] an sou weider). Charaktere, déi duerch oktal a hexadezimal Fluchsequenzen beschriwwe ginn, ginn wuertwiertlech behandelt, och wann se regelméisseg Ausdréck Metacharakter sinn.

--real Intervall

Intervalle Ausdrock a regeleg Ausdréck zitt, och wann --traditionell gëtt gemaach.

Actions

Aktiounen Aussoen sinn an Klameren, { a } zou . Aktiounen Aussoen besteet aus der gewéinlech Assignatioun, bedingungsvoll a looping Aussoen déi meescht Sproochen fonnt ginn. D'Betreiber, d'Kontrollerklärungen an d'Input / Outbound-Aussoen, déi nach verfügbar sinn, sinn no gemoolt wéi déi vu C.

Operatoren

D'Betreiber vun der AWK, no der Ordnung vum Ofbau vu Prioritéit, sinn

( ... )

Gruppéieren

$

Referenz.

++ -

Increment a Dekrement, Präfix oder Postfix.

^

Exponentatioun ( ** kann och benotzt ginn, a ** = fir de Beleg Operator).

+ -!

Unary plus, unary minus, a logesch Negatioun.

* /%

Multiplication, Divisioun an Modul.

+ -

Additioun a Subtraktioun.

Plaz

String Verknüpfung.

<>

<=> =

= == Déi regulär Relatiounen tëscht Opérateuren.

~! ~

Regelméisseg Äusserst Match, negatéiert Match. ERËNNEREN: Benotzt net e stännegen regulären Ausdrock ( / foo / ) op der linker Säit vun engem ~ oder ! ~ . Nët just een op der rietser Säit benotzt. De Expression / foo / ~ exp huet déiselwecht Bedeitung wéi (($ 0 ~ / foo /) ~ exp ) . Dëst ass normalerweis net wat gemaach gouf.

in

Array Member ze maachen.

&&

Logesch an.

||

Logesch ODER.

?:

De C bedingend Ausdrock. Dëst huet d'Form expr1 ? expr2 : expr3 . Wann expr1 Wierklech ass, ass de Wäert vum Ausdrock expr2 , soss ass expr3 . Nëmmen ee vun expr2 an expr3 gëtt evaluéiert.

= + = - =

* = / =% = ^ = Assignment. Déi zwou Absolut Beliichtung ( Var = valoriséiert ) an d'Betreiber-assignment (déi aner Forme) ginn ënnerstëtzt.

KontrollÄnneren

D'Kontrollerklärunge si wéi folgend:

Wann dës Konditioun ( Statement ) Äerder (awer aner Ausso ) während ( Bedingunge ) Erklärung deklaréiert, während ( Bedingung ) fir ( expr1 ; expr2 ; expr3 ) -Anweisung fir ( var array ) -Anweisungsbriechung weider läschen Array [ Index ] delete array exit [ expression ] Aussoe }

I / O Statements

D'Input / Output-Aussoe soen wéi folgend:

( Datei [ , wéi ] )

Datei schécken, Päif oder Co-Prozess. De fakultativ wéi soll nëmmen benotzt ginn wann een en Enn vun engem Zwee-Wee-Pipe fir e Co-Prozess ofgeschloss ass. Et muss e Stringwäert sinn, entweder "zu" oder "vu" .

Ginn

Set $ 0 vum nächsten Input Record; NF , NR , FNR .

Festnetztelefon < Datei

Set $ 0 vun den nächste Rekord vu Fichier ; NF festgeluegt .

Ginn vill

Set Var aus nächsten Input Record; NR , FNR .

Ginn < var

Set Var aus de nächste Rekord vu Fichier .

Kommando | Geleeënheet [ var ]

Kommando fuert direkt d'Ausgab entweder op $ 0 oder var , wéi virdrun.

Kommando | & getline [ var ]

Kommando Kommando wéi e Co-Prozess verëffentlecht den Output entweder op $ 0 oder Var , wéi virdrun. Co-Prozesser sinn eng gawk Verlängerung.

nächst

Stoppen d'Veraarbechtung vum aktuellen Input Record. Déi nächst Input Record gëtt gelies an d'Veraarbechtung fänkt mat dem éischte Muster am AWK Programm un. Wann d'Enn vun den Input Daten erreecht gëtt, gëtt den END- Block (en), wann et se gëtt, ausgefouert ginn.

nächst sidd

Stoppen der Veraarbechtung vun der aktueller Input Datei. Déi nächst Input Record gëtt aus der nächster Inputdatei. FILENAME an ARGIND aktualiséiert ginn, gëtt de FNR op 1 zréckgeruff an d'Veraarbechtung fänkt mat dem éischte Muster am AWK Programm un. Wann d'Enn vun den Input Daten erreecht gëtt, gëtt den END- Block (en), wann et se gëtt, ausgefouert ginn.

ze drécken

Dréckt den aktuellen Rekord. Den Output Recorder gëtt ofgeschaaft mat dem Wäert vun der ORS Variabelen.

print expr-list

Drockausdréck. All Ausdrock gëtt getrennt vum Wäert vun der OFS- Variabele. Den Output Recorder gëtt ofgeschaaft mat dem Wäert vun der ORS Variabelen.

print expr-list > Datei

Dréck Ausdréck op Datei . All Ausdrock gëtt getrennt vum Wäert vun der OFS- Variabele. Den Output Recorder gëtt ofgeschaaft mat dem Wäert vun der ORS Variabelen.

printf fmt, expr-list

Format an drucken.

printf fmt, expr-list > Datei

Format an drucken op.

System ( cmd-Linn )

Gitt d'Command cmd-Linn aus a gitt d'Ausgangsstatus zréck. (Dëst kann net op net-POSIX Systemer sinn.)

F Flush ( [ Fichier ] )

Spuert all Buffers déi mat der Open-Out Datei oder Pipe- Datei verbonne sinn . Wann de Fichier net fehlt, da gëtt de standard Ausgülte gespuert. Wann d' Fichier déi null String ass, da sämtlech Open-Out Dateien an Päifen hunn hir Puffer gespuert.

Zousätzlech Ausgaberedungseffizenzen ginn erlaabt fir Dréck a printf .

Dréck >> >> Datei

féiert d'Ausgab an d' Datei .

gedréckt ... | Kommando

schreift op engem Päif.

drécke ... | & Kommando

Suergt fir Daten a Co-Prozess.

De Ginn- Kommando gëtt 0 op de Fichier zréck a -1 op engem Fehler. E Feeler ass ERRNO e String deen de Problem beschreift.

NOTE: Wann Dir en Päif oder Co-Prozess fir ze klären , oder aus Print oder Printf innerhalb vun engem Loop benotzt, musst Dir close () nei Nexus vum Kommando erstellen. AWK schreift net automatesch Päifen oder Co-Prozesser, wann se EOF erofhuelen.

De printf Statement

D'AWK-Versiounen vun der printf- Anweisung an sprintf () -Funktion (kuckt no) akzeptéieren d'Konversiounsformationsformuléierungen:

% c

En ASCII Charakter. Wann de Argument fir % c numeresch ass, gëtt et als Charakter a gedréckt behandelt. Sinn d'Argumenter ugeholl datt et eng Saach ass, an deen eenzegen éischt Charakter vun der Sait ass gedréckt.

% d , % i

Eng Dezimalzuel (de Ganzt Deel).

% e,% E

Eng Gedeessele Punkt vun der Form [-] d.dddddde [+ -] dd . De % E- Format benotzt E anstatt e .

% f

E Gleitpunkt vun der Form [-] ddd.dddddd .

% g,% G

Benotzt % e oder % f Konversioun, egal wéi kürzer, mat onbestëmmten Nullen ënnerdréckt. De % G- Format benotzt % E anstatt % e .

% o

Eng net signéiert Oktal Nummer (och eng ganz Zuel).

% u Eng net signéiert Dezimalnummer (erneier, eng ganz Zuel).

% s

Eng Zeechestëmmung.

% x,% X

Eng ongetippt hexadezimal Zuel (eng Ganzt). De % X- Format benotzt ABCDEF anstatt abcdef .

%%%

Eng eenzeg % Charakter; kee Argument gëtt ëmgesat.

Optional ass et nach aner Parameteren tëschent dem % an dem Kontrollbréif:

zielen $

Benotzt de Zielt Argument an dësem Punkt an der Formatéierung. Dëst gëtt als Positional Spezifizéierer bezeechent an ass primär fir d'Verwendung an Iwwersetzer Versioune vu Formatstécker, net am urspréngleche Text vun engem AWK Programm. Et ass eng gawk Extensioun.

- Déi

Den Ausdrock sollt an hirem Gebitt gerechtfäerdegt sinn.

Plaz

Fir numeresch Konversiounen, Präfix positiven Wäerter mat engem Raum an negativ Wäerter mat engem Minus-Zeechen.

+

De Pluszeichen, dat virum Breetreformer benotzt (kuckt hei ënnendrënner), seet ëmmer, datt et e Zeechen fir numeresch Conversiounen ze liesen, och wann d'Donnéeën matformat positiv sinn. De + überschreift de Raumdeeler.

#

Benotzt eng `` alternativ Form '' fir bestëmmte Kontrollbréiwer. Fir % o , leet en zentrale Null. Fir % x , an % X , leet e 0x oder 0X fir en Nouszero Resultat. Fir % e , % E an % f , ass d'Resultat ëmmer e Dezimalpunkt. Fir % g , a % G , no nozelauschteren Nullen sinn net aus dem Resultat geläscht.

0

E féierend 0 (Null) fënnt als e Fändel, wat weist datt d'Ausgëltegung mat Nullen statt Plaazen gespuert gëtt. Dëst gëllt och fir net numeresch Ausgeleformate. Dëse Fänd hunn nëmmen e Effekt, wann d'Feldbreedung méi grouss ass wéi de Wäert dee gedréckt gëtt.

Breet

D'Feld sollt op dës Breet zougemaach ginn. De Feld ass normalerweis mat Raumstécker gepolstert. Wann de 0- Fändel benotzt gouf, ass se mat Nullen gepolstert.

. präziséiert

Eng Ziffer déi benotzt d'Präzisioun beim Gebrauch beim Drock. Fir d' % e , % E- a % f- Formater ass dat d'Nummer vun Zifferen déi Dir op der Säit vum Dezimalpunkt dréckt. Fir % g an % G- Formate gëtt et déi maximal Zuel vun signifikante Zifferen. Fir % d , % o , % i , % u , % x a % X- Formate gëtt et d'Mindestziffer vun Zifferen fir ze drécken. Fir % s gëtt et déi maximal Zuel vu Zeechen aus der Sait, déi gedréckt soll gedréckt ginn.

Déi dynamesch Breet a Präkapazitéit vun den ANSI C printf () -Routinen ginn ënnerstëtzt. A * an der Plaatz vun der Breet oder de präparéierter Spezifikatioune verursaacht hir Wäerter aus der Argument Lëscht op printf oder Sprintf () . Fir en Positionsspezifizéierer mat enger dynamescher Breet oder Präzisioun ze benotzen, liesen de Zuelen $ nach de * am Format String. Zum Beispill, "% 3 $ * 2 $. * 1 $ s" .

Spezial Dateinamen

Wann ech Ire Oire vun engem entweder drucken oder drucken an eng Datei oder iwwer Gerechtegkeet vun enger Datei, gawk erkennt verschidde spezielle Dateinumm intern. Dës Dateinameren erméiglechen den Zougang zu de Datei-Descriptoren, déi vum gawk 's Pappprozess (normalerweis d'Shell) geerbt hunn. Dës Dateinumm kënnen och op der Kommandozeil fir Dateendateien benotzt ginn. D 'Dateinumm sinn:

/ dev / stdin

De Standardeinggang.

/ dev / stdout

De Standardausgang.

/ dev / stderr

De Standardfehler-Output.

/ dev / fd / n

De Fichier ass mat dem Open Datei Descriptor n .

Dës sinn besonnesch nëtzlech fir Fehlermeldung. Zum Beispill:

"Dir hutt d'Schlof gemaach!" > "/ dev / stderr"

Dir däerft soss net benotze mussen

"Dir hutt d'Schlof gemaach!" | "cat 1> & 2"

Déi folgend speziell Dateinumm kënnen mat dem & Co-Prozess Operator zum Erstellen vun TCP / IP Netzverbindunge benotzt ginn.

/ inet / tcp / lport / rhost / rport

Datei fir TCP / IP Verbindung op lokalen Hafen ltz zu Remote Host RHost op Remote Port Rport . Benotzt e Port vun 0 , fir de System en Hafen z'installéieren.

/ inet / udp / lport / rhost / rport

Ähnlech, maacht UDP / IP anstelle vun TCP / IP.

/ inet / raw / lport / rhost / rport

Reservéiert fir d'Zukunft ze benotzen.

Aner speziell Dateie mam Zougang zu Informatiounen iwwer de laangen Operateur Gawk . Dës Filennamen sinn elo onbestänneg. Benotzt de PROCINFO- Array fir d'Informatiounen ze kréien déi se ubidden. D 'Dateinumm sinn:

/ dev / pid

Dëse Fichier liest d'Prozessprozedur vum aktuellen Prozess zréck, an Dezimal, mat enger Newline ofgeschloss.

/ dev / ppid

Dëse Fichier liest d'Elteren Prozess ID vun dem aktuellen Prozess zréckkomm, an Dezimal, mat enger Newline ofgeschloss.

/ dev / pgrpid

Dëse Fichier liest Dir d'Prozess Grupp ID vum aktuellen Prozess zréck, an Dezimal, mat enger Newline ofgeschloss.

/ dev / user

Dëse Fichier liest Dir eng eenzeg Rekord ofzeschléissen mat enger Newline. D'Felder ginn mat Raumfaart getrennt. De $ 1 ass den Wäert vun der Tippuweisung (2) Systemeruffen, $ 2 ass de Wäert vun der geteuid (2) Systemrequise, $ 3 ass de Wäert vun der getgid (2) Systemrufthaltung, a $ 4 ass den Wert vun der getegid (2) System ofzesoen. Wann et weider Felder ginn, gi se d'Gruppidentifikatioune vu Gittgruppen zréck (2). Vill Gruppen kënnen net op all System ënnerstëtzt ginn.

Numeresch Funktiounen

AWK huet déi folgend Gebaute vun arithmetesche Funktiounen:

atan2 ( y , x )

Gitt den Architekte vun y / x bei Rader.

cos ( expr )

Gitt d'Kosinie vun expr , wat an Rader gëtt.

exp ( expr )

D'Exponentialfunktioun.

int ( expr )

Truncate zu Ganzt.

Logbuch ( expr )

Déi natierlech Logarithmus Funktion.

rand ()

Gëtt e gewielt Zuelen tëschend 0 an 1.

Sënn ( expr )

Gitt de Kinneg vu expr , wat an de Rader ass.

sqrt ( expr )

D'Quadratwurzelfunktioun.

srand ( [ expr ] )

Uwendung expr als neie Saum fir den Zufallnummer generator. Wann keen Expr gëtt, gëtt d'Zäit vum Dag benotzt. De Rescht Wert ass de virdrun Somen fir den Zufallnummer-Generator.

String Functions

Gawk huet déi folgend Saach fun dëse Funktiounen:

asort ( s [ , d ] )

Gitt d'Unzuel vun Elementer an der Source-Array s . D'Inhalter s si mat normale Regelen opgedeelt gawk fir de Vergleicht vun Wäerter z'erreechen an d'Indizes vun de sortéierte Wäerter vun s ginn duerch sequentiell ganzer Integer beginn mat 1. Wann d'optional Zielariray d spezifizéiert gëtt, gëtt d'éischt duplizéiert an d an dann d sortéiert ass, wann d'Indizes vum Quellarray un onverännert ginn.

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

Fannt d'Zil String t fir Matches vum regulären Ausdrock r . Wann h eng String ass mat g oder G beginn, ersetzen all Matcher vu r mat s . Anescht wéi, h ass e Zuel, mat deem wat mat r ersetzt gëtt. Wann t net geliwwert gëtt $ 0 benotzt. Am Ersatztext s ass d'Reihenfolge \ n , wou n eng Ziffer vu 1 bis 9 ass, kann benotzt ginn fir nëmmen den Text anzeginn, deen dem nënneg subjektiver Ënnerprägung entsprécht. D'Sequenz \ 0 steet den ganzen matgerechten Text, genau wéi den Charakter & . Am Géigesaz zum sub () an gsub () gëtt d'geännert String als Resultat vun der Funktioun zréckgewisen an d'originell Zilquell gëtt net geännert.

gsub ( r , s [ , t ] )

Fir all Ënnergrupp mat dem regulären Ausdrock r am String t , ersetzen déi Zeecheklaratioun s a gitt d'Unzuel vun Auswiesselungen zréck. Wann t net ofgeliefert ass, benotzen $ 0 . An & am Ersatztext gëtt ersat duerch den Text deen iwweregens iwwereg gouf. Benotzt \ & fir e literal ze kréien. (This must be typed as "\\" , kuckt GAWK: Effektiv AWK Programméiere fir eng méi grouss Diskussioun iwwer d'Regelen fir & s a Réckslashes am Ersatztext vun sub () , gsub () , an gensub () .

Index ( n , t )

Gitt den Index vun der Zeecheklaf t an der Zeecheklaratioun, oder 0 wann t net present ass. (Dëst bemierkt datt Charakterindizes op ee sinn.)

Längt ( [ s ] )

Gëtt d'Längt vun der Zeecheklaratioun s oder d'Längt vun $ 0 wann s net liefert.

Match ( s , r [ , a ] )

Gitt d'Positioun an där wou de reguläre Ausdrocksr r occursert, oder 0 wann r net present ass, a setzt d'Wäerter vun RSTART a RLENGTH . Opgepasst datt den Argumentaussatz d'selwecht ass wéi fir den Operator: str . Wann d'Array e gëtt, gëtt et geläscht a sinn dann Elemente 1 bis n gefüllt mat de Portioune vu s déi mat der korrespondéierter subjektiver Ënnerprägung vun r sinn . Den 0e-Element vun engem enthält den Deel vum s mat dem ganze reguläre Ausdrock r .

Spaltung ( s , a [ , r ] )

Spléckt de Sait op den Array a op de regulären Ausdrock r , a këmmert d'Zuel vu Felder. Wann r ausgeluecht gëtt, gëtt FS stattdessen benotzt. D'Array ass eng éischtklasséiert. D'Spaltung behandelt identesch u Spannungsplitt, déi et beschriwwen huet.

sprintf ( fmt , expr-list )

Dréckt expr-Lëscht nom fmt , a gëtt déi entstanend String.

Strtonum ( Str )

Untersucht Str . A gitt säin numeresche Wäert. Wann Str beginn mat engem féierende 0 , strtonum () ass datt d' Str an eng Oktal Nummer ass. Wann Str beginn mat engem féierende 0x oder 0X , strtonum () ass ugeholl, datt Str eng hexadezimal Zuel ass.

Ënn ( r , s [ , t ] )

Just wéi gsub () , awer nëmmen déi éischt passende Substring ersat.

Substré ( s , i [ , n ] )

Gidd den am n -ënnerspeed-Substring vun s ab i . Wann n net ausgeliwwert gëtt, gëtt de Rescht vu s benotzt.

Toleratioun ( Str )

Gitt eng Kopie vun der String Str zréck , mat all deenen upper-case Charakteren, déi str an déi entspriechend mannerfäegleche Kollegen iwwersat ginn. Net alfabetten Zeechen bleiwen onverännert.

Toupper ( Str )

Gëtt eng Kopie vun der String Str , gëtt mat all de Schrëftgréissten ze ënnerbannen fir op déi entspriechende upper-case Kollektiv ze setzen. Net alfabetten Zeechen bleiwen onverännert.

Time Functions

Zënter eent vun de primären Verwäertungen vun AWK-Programmen ass d'Protokolldateie Veraarbechtung déi d'Zäitstempelinformation beinhaltet, gawk stellt déi folgend Funktiounen fir d'Zäitstempel ze kréien an ze formatéieren.

der Mktime ( datapec )

Rurns Datepec an e Zäitstempel vun därselwechter Form wéi vum Systime () zeréckkommt . De Termepec ass e Schnouer vun der Form YYYY MM DD HH MM SS [DST] . Den Inhalt vun der Zeechne sinn sechs oder siwen Zuelen, déi de ganzen Joer sinn, dh d'Joerhonnert, de Mount vun 1 bis 12, den Dag vum Mount vun 1 bis 31, d'Stonn vum Dag vun 0 bis 23, d'Minutt vun 0 bis 59, an der zweeter vun 0 bis 60, an e optional Dämmerungsspezialist. D'Wäerter vun dëse Zuelen brauchen net innerhalb vun de spezifizéierte Range ze ginn; zum Beispill eng Stonn vun -1 heescht 1 Stonn virum Mëtternuecht. Den Urspronk-Null Gregorianesche Kalenner gëtt ugeholl, mam Joer 0 virum Joer 1 an Joer -1 virdrun Joer 0. D'Zäit gëtt an der lokaler Zäitzone geduecht. Wann d'Sonndesaktivéiersflag positiv ass, gëtt d'Zäit als Sonneneffekt Zäit bezeechent; Falls Null, gëtt d'Zäit als Standardzeit uginn; a wann negativ (default), mktime () probéiert ze bestëmmen, ob d'Sonndesuewerde-Zäit fir d'spezifizéiert Zäit anzegräifen . Wann dat Datepec net genuch Elemente enthält oder wann d'entsteet Zäit ass net ofgeschloss, gëtt d' Mktime () -1 zréck.

Ufanks ( [ Format [ , Zäitstempel ]] )

Formatéierst Timestamp no der Spezifizéierung am Format. De Timestamp soll vun därselwechter Form sinn wéi d' Systime () . Wann d' Zäitstempel fehlt, gëtt déi aktuell Zäit vum Dag benotzt. Wann de Format fehlt, gëtt e Standardformat deen äus dem Output vum Datum (1) entsprécht. Kuckt d'Spezifikatioun fir d' Stritt () -Funktioun an ANSI C fir d'Convertiounen déi op d'mannst garantéiert sinn. Eng Public Domain Versioun vu Sträit (3) an eng Mann Säit fir et mat Gawk komm ass ; Wann dës Versioun gebraucht gouf gawk , da sinn all d'Conversiounen déi op dëser Manéier geschriwwe sinn gawk.

der Systemstatioun ()

Gitt d'aktuell Zäit vum Dag als d'Zuel vun de Sekonnen zënter der Epoch (1970-01-01 00:00:00 UTC op POSIX Systemer).

Bit Manipulationsfunktionen

Vun der Versioun 3.1 aus Gawk gëtt d'folgend Bit Manipulatiounsfunktioun zur Verfügung. Si schaffen duerch Ëmwandlung vun Dual-Precision Floating Point Wäerter zu net ënnerschriwwe langen ganzen ganzen, fir d'Operatioun ze maachen an d'Konvertéierung vum Resultat zréck op Gittestellung. D 'Funktioune sinn:

an ( v1 , v2 )

D'Bëss u wann vun de Wäerter, déi vu v1 a v2 versuergt ginn, zréckzéien .

compl ( val )

Zréck de bitweise Ergänzung vu val .

Lshift ( val , count )

Den Wert vun val zréckgitt , lénks eropgesat vu Bits.

oder ( v1 , v2 )

Géif d'Bëss ze OR vun den Wäerter vun v1 a v2 .

rshift ( val , count )

Den Wert vun val zréckgitt , no riets duerch Zielt Bits verschoben.

xor ( v1 , v2 )

Zréck d'bësselflech XOR vun de Wäerter vun v1 a v2 .

Internationaliséierung Funktiounen

Vun der Versioun 3.1 vun Gawk kann déi folgend Funktiounen aus Ärem AWK-Programm benotzt ginn fir Zeechentrang an der Run-Time ze maachen. Fir déi ganz Detailer kuckt GAWK: Effektiv AWK Programméierung .

bindtextdomain ( Verwalte [ , Domäne ] )

Gitt den Verzeichnis fest, wou gawk sou wéi d' .mo- Dateien kuckt, wann se net oder an der `` Standard '' Plaz (z. B. beim Testen) net plazéiert ginn. Dir kënnt d 'Verknüpfung zerécksetzen, wou Domaine gebonne gëtt.

De Standarddengscht ass den Wäert vun TEXTDOMAIN . Wann de Verëffentleche den Zollkéiers ( "" ) ass, da bindtextdomain () déi aktuell Bindung fir déi gegebene Domain zréck .

dcgettext ( Zeechen [ , Dame [ , Kategorie ]] )

Gidd Dir d'Iwwersetzungsverschlësselung vun der Text Domain Domäik fir Kategorië Kategorie . De Standardwerter fir Domain ass den aktuellen Wäert vun TEXTDOMAIN . De Standardwerter fir Kategorie ass "LC_MESSAGES" .

Wann Dir e Wäert fir Kategorie leet, muss et e String gleewen, deen zu enger vun de bekannten Gebiddegrenzen ass, déi am GAWK beschriwwe sinn: Effektiv AWK Programméierung . Dir musst och e Text Domain leeën. Benotzt TEXTDOMAIN wann Dir déi aktuell Domain benotzt.

dcngettext ( string1 , string2 , Nummer [ , Domain [ Kategorie ]] )

Gidd de Formulaire dee Formulär benotzt fir d' Nummer vun der Iwwersetzung vun string1 a string2 am Text Domain Domain fir Kategorië Kategorie . De Standardwerter fir Domain ass den aktuellen Wäert vun TEXTDOMAIN . De Standardwerter fir Kategorie ass "LC_MESSAGES" .

Wann Dir e Wäert fir Kategorie leet, muss et e String gleewen, deen zu enger vun de bekannten Gebiddegrenzen ass, déi am GAWK beschriwwe sinn: Effektiv AWK Programméierung . Dir musst och e Text Domain leeën. Benotzt TEXTDOMAIN wann Dir déi aktuell Domain benotzt.

USER-DEFINED FUNCTIONS

Funktioune vun AWK sinn definéiert wéi folgend:

Funktiounnam ( Parameter Lëscht ) { Aussoën }

Funktioune ginn ausgeführt, wann se vu Expressiounen an entweder Mustern oder Aktiounen genannt ginn. Aktuell Parameteren, déi am Funkconcert geliwwert ginn, ginn benotzt fir d'formal Parameter an der Funktioun anzegräifen. Arrays ginn duerch Referenz iwwergaangen, aner Variablen ginn duerch Wäert iwwerginn.

Well d'Funktioune waren net ursprénglech Deel vun der AWK Sprooch, ass d'Disponibilitéit fir lokal Variablen e relativ ongewollt: Si ginn als Extraparameter an der Parameterverschlag deklaréiert. D'Konventioun ass lokal lokal Variablen ze trennen aus echte Parameteren duerch Extra-Späicher an der Parameter Lëscht. Zum Beispill:

Funktioun f (p, q, a, b) # a a b sinn lokal {...} / abc / {...; f (1, 2); ...}

Déi lénks Klammer an engem Funkgeriicht ass verlaangt direkt dem Funktiounsnam ze goen, ouni irgendeng intervenéiert wäiss Plaz. Dëst ass eng syntaktesch Zweiwäit mat dem Verkéiersbetreiber ze vermeiden. Dës Restriktioun gëllt net fir d'Integriert Funktiounen opgelëscht.

Funktioune kënne ruffen an aner kënne rekursiv sinn. Funktéparameter, déi als lokal Variablen agesat ginn, ginn an d'Nullstring initialiséiert an d'Zuel Null no Funktiouns invokatioun.

Benutzen Sie zréck expr fir e Wäert vun enger Funktioun zréckzeginn. Den Rückgabewert ass net definéiert, wann keen Wäert gëtt oder wann d'Funktioun vun '' falsch '' 'Enn' 'zréckkommt.

Wann --lint geännert gouf warnt d' Geleeënheet op Onfaitele vun onbestëmmte Funktiounen an der Parsezäit, amplaz vu laanger Zäit. Ausféierung vun enger onefinteg Funktioun zu der Ronn Zäit ass e fatal Fehler.

D'Wuert func kann an der Funktioun benotzt ginn .

DYNAMIK LËTZEBUERG NEW FUNCTIONS

Ufank mat der Versioun 3.1 vun Gawk , Dir kënnt dynamesch nei Gebaierfunktiounen op de laangen Gawk- Interpreter hinzufügen . Déi komplett Detailer ginn iwwer de Kader vun dëser Handbuch Säit; GAWK: Effektiv AWK Programméiere fir d'Detailer.

Erweiderung ( Objekt , Funktioun )

Dynamesch Verknëppelen déi gemeinsam Objektioun Datei vum Objet genannt an d' Funktioun an deem Objet invokéieren fir Initialiséierung ze maachen. Dës sollten esou wéi Stécker versuergt ginn. Gidd den den Funk gëtt zréckgewisen.

Dës Funktioun gëtt a GAWK dokumentéiert a dokumentéiert: Effektiv AWK Programméierung , awer alles iwwer dës Fonktioun wäert wahrscheinlech an der nächster Verännerung veränneren. Mir STRONGLY empfehlen datt Dir dës Fonktioun net fir alles kënnt benotze fir datt Dir net ree méi kënnt.

SIGNALS

pgawk akzeptéiert zwee Signaler. SIGUSR1 verursaacht datt et e Profil gëtt an d'Funktiounsstack opruffen an d'Profilfichier, déi entweder awkprof.out ass , oder wat e Fichier mat der Profilprofiel genannt gouf . Et wäert weiderféieren. SIGHUP verursaacht dat de Profil ze dumpelen an d'Funktelefonnummer opzemaachen an duerno erauszekréien.

Beispiller

Druk un a gitt d'Loginnumm vun alle Benotzer: BEGIN {FS = ":"} {print $ 1 | "sort"} Zousätzlech Zeilen an enger Datei: {nlines ++} END {print nlines} Virbereet all Zeil vu senger Zuel an der Datei: {print FNR, $ 0} Ketten a Linnennummer (Variatioun op engem Thema): {druck NR, $ 0}

Internaliséierung

String Konstanten sinn Sequenzen vun Zeechen, déi an doppelte Zitater zougemaach ginn. An net-engleschsproochegen Ëmfeld maache se Stécker am AWK Programm wéi d'Iwwersetzung vun der natierlecher Natur ze erfëllen. Dës Saiten sinn markéiert am AWK Programm mat engem Haaptunterdrank (`` _ ''). Zum Beispill,

gawk 'BEGIN {print "Hallo, Welt"}'

alt ëmmer d' Hallo, Welt . Awer,

gawk 'BEGIN {print_ "Hallo, Welt"}'

bonjour, monde franzéisch kënnt.

Et gi verschidde Schrëtt fir eng lokaliséierbar AWK Programm ze produzéieren an ze laafen.

1.

Fügt eng BEGIN Aktioun fir eng Wierk zu der TEXTDOMAIN variabel ze weisen fir de Textdomain op e Numm ze setzen, deen mat Ärem Programm ass.


BEGIN {TEXTDOMAIN = "myprog"}

Dëst erlaabt den Gawk fir d' .mo Datei ze fannen mat Ärem Programm. Ouni dës Schrëtt benotzt gawk d' Messagen Text Domain, déi wahrscheinlech net Iwwersetzunge fir Är Programm enthält.

2.

Mark all Strings déi sollt mat de féierende Ënnerscores iwwersat ginn.

3.

Falls néideg, benotzt dcgettext () an / oder bindtextdomain () -Funktionen an Ärem Programm, wéi et duer geet.

4.

Run gawk --gen-po -f myprog.awk> myprog.po fir e .po- Datei fir Äre Programm z'änneren .

5.

Gitt gewënschte Iwwersetzungen, a bauen a installéieren eng entspriechend .mo Datei.

D'Internationaliséierung Funktioune ginn am Detail ënnerschriwwen an GAWK: Effektiv AWK Programméierung .

Posix Kompatibilitéit

E primär Ziel fir Gawk ass Kompatibel mat dem POSIX-Standard, wéi och mat der neier Versioun vun UNIX awk . Zu dësem Zweck gëtt Gawk déi folgend Benotzer sichtbar Funktiounen, déi net am AWK-Buch beschriwwe ginn, awer sinn Deel vun der Bell Laboratories-Versioun vun awk , a sinn am POSIX-Standard.

De Buch weist datt d'Befehlsvariable Variatioun ass geschitt, wann awk d'Argumenter als eng Datei geännert huet, déi nom BEGIN Block ausgeführt gëtt. Awer fréier Implementatiounen, wann esou e Beliichtung virum eegene Dateiebezeechnung agefouert gouf, da wier d'Zuelung virun der BEGIN-Sëcherheet geschitt . D'Applikatiounen hu vun dëser `` `Feature '' ofgeschnidden. 'Wann awk geännert gouf mat senger Dokumentatioun gezeechent, ass d'Option -v fir Variablen ze vervollstännegen , ier d'Programmausféierung add applizéiert gouf fir Applikatiounen ze huelen, déi vun dem alen Verhalen agespaart waren. (Dës Fonktioun gouf vum Bell Laboratories an de GNU Entwéckler vereinbart.)

D'Option -W fir realiséierungsspezifesch Funktiounen ass vum POSIX Standard.

Beim Argument vun der Veraarbechtung benotzt gawk déi speziell Optioun `` - '' fir d'Enn vun Argumenter ze signaliséieren. In Kompatibilitéitmodus weist et Warnungen iwwer, awer anerfalls ignoréiert keng definéiert Optiounen. An normaler Operatioun ginn esou Argumenter op d'AWK Programm weidergeleet fir datt se veraarbecht ginn.

Den AWK-Buch definéiert net de Retourwert vu srand () . De POSIX Standard huet et de Saum zeréckginn deen se benotzt huet, fir datt se Zougang vu lokale Zuchsequenzen kënne halen. Dowéinst gëtt de srand () an gawk och säin aktuelle Saum zréck.

Aner nei Fonctiounen sinn: De Gebrauch vu multiple -f Optiounen (vu MKS awk ); der UVIRON- Array; d' \ a , a \ v Fluchsequenzen (ursprünglech an der Gawk gemaach an an d'Bell Laboratories Versioun zréckgezunn sinn); déi Toleré () a Toupper () Built-Funktiounen (vun der Bell Labs Versioun); an d'ANSI C Konversiounspezifikatiounen am printf (eréischt an der Bell Labs Versioun).

Historesch Features

Et ginn zwou Méiglechkeeten vun historeschen AWK-Implementatiounen déi gawk ënnerstëtzt. Éischtens ass et méiglech, d' Längt () Built-Funktion net nëmmen ouni Argument ze ruffen, awer och ouni Klammer! Dofir ass

a = Länge # Holy Algol 60, Batman!

ass dat selwecht wéi jiddereen

a = Längt ()
a = Längt ($ 0)

Dës Fonktioun ass markéiert '`vergewëssert' 'am POSIX-Standard, an gawk huet eng Warnung iwwer säin Asaz, wann - Lint op der Kommandozeechnung ass.

Déi aner Feature ass d'Verwaltung vu entweder d' Fortsetzung oder d' Break- Aussoen ausserhalb vum Kierper vun enger Wei , fir oder do Loop. Traditiounsweis AWK-Implementatiounen hunn dës Benotzung sou wéi déi nächst Erklärung behandelt. Gawk ënnerstëtzt dës Benotzung wann --traditional war spezifizéiert ginn.

GNU Extensions

Gawk huet eng Rei vun Extensiounen op POSIX awk . Si sinn an dëser Rubrik beschriwwe ginn. All déi hier Beschreiwunge beschriwwe ginn kann opgeléist ginn andeems de gawk mat der - traditioneller Optioun opfällegt gëtt .

Déi folgend Features vu gawk sinn net am POSIX awk verfügbar.

*

Kee Wee Sich gëtt fir Filmer, déi iwwer de -f Optioun genannt ginn, gemaach ginn. Dofir ass d' Ëmgebungsvariable AWKPATH net speziell.

*

D' \ x Fluchtsequenz. (Behënnert mat --positioun .)

*

Déi fofel () -Funktion. (Behënnert mat --positioun .)

*

D'Kapazitéit fir weider Zeilen ze lafen ? a :. (Behënnert mat --positioun .)

*

Octal an hexadezimal Konstanten an AWK Programmer.

*

D' ARGIND , BINMODE , ERRNO , LINT , RT an TEXTDOMAIN Variablen sinn net besonnesch.

*

D'Verännerung IGNORECASE an hir Side-Effekter sinn net disponibel.

*

D' FIELDWIDTHS variabel a feste Breet a Feldspaltung.

*

De PROCINFO- Array ass net disponibel.

*

D'Verwende vu RS als regulären Ausdrock.

*

Déi speziell Dateinamen fir I / O-Umleitung sinn net erkannt.

*

De | & Operator fir d'Co-Prozesse schafft.

*

D'Kapazitéit fir eenzel Charakteren opzehuelen, déi d'Zong String als de Wäert vun der FS sinn an als drëtt Argument fir d' Spaltung () .

*

D'optional zweet Argumenter un der Nout () Funktion.

*

D'optional drëtt Argument fir d' Match () -Funktion.

*

D'Kapazitéit fir positional Spezifikatioune mat printf an sprintf () ze benotzen .

*

D'Benotzung vu läschen Array , de ganze Inhalt vun engem Array ze läschen.

*

D'Benotzung vun der nächster Säit fir d'Veraarbechtung vun der aktueller Input- Datei opzeginn.

*

Déi a () , asort () , bindtextdomain () , compl () , dcgettext () , gensub () , lshift () , mktime () , oder () , rshift () , strftime () , strtonum () , system () a xor () -Funktionen.

*

Lokaliséierter Zeechen.

*

Neiegkeet vun neie Fonctiounen dynamesch mat der extension () -Funktioun.

Den AWK-Buch definéiert net den Rückgabewert vun der no () Funktion. Gawk 's () () returns de Wäert vun der klenger (3), oder pclose (3), wann se eng Ausgabdatei oder Päif schloen. Et gëtt den Exitstatus vum Prozess zréck wann een en Input-Pipe schlooft. Den Rückgabewert ass -1, wann déi genannte Datei, Päif oder Co-Prozess net mat enger Ofleckung geännert gouf.

Wann gawk mat der - traditioneller Optioun opgeruff gëtt, ass d' FS- Argument op d'- F- Option `` t '', dann gëtt FS op de Tab vun Character gesat. Opgepasst datt d'Typing gawk -F \ t ... einfach d'Shell bewäerten, d'`` t 'ze zitéieren, a passt d'`` \ t' op d'- F- Optioun. Well dat e ganz e wéineg eegen Spezialfall ass, ass et net de Standardverhalen. Dëst Verhalen och net opzefänken, ob --positioun ass spezifizéiert ginn. Gitt wierklech e Tab vun Character wéi de Feldtrenner, ass et am beschten eenzel Zitaten: gawk -F '\ t' ....

Kuckt aner Commandë : Waart , Lp , komplett , execv , getfacl , ioctl , uniq , rmmod , pvcreate , rsh , unix2dos , cal , fs , cd , iwpriv , swapon , autofs , talk , motd , gratis , lpr , execl , fdisk , Dee , iwconfig , ifconfig , vgdisplay , geöffnet , lsmod , ntohs , mailq , kill , wtmp