Skip to main content

Gawk - Linux కమాండ్ - Unix కమాండ్

Anonim

పేరు

gawk - నమూనా స్కానింగ్ మరియు ప్రాసెసింగ్ భాష

సంక్షిప్తముగా

gawk POSIX లేదా GNU శైలి ఎంపికలు -f కార్యక్రమం ఫైల్ -- ఫైల్ …gawk POSIX లేదా GNU శైలి ఎంపికలు -- కార్యక్రమం టెక్స్ట్ ఫైల్ …

pgawk POSIX లేదా GNU శైలి ఎంపికలు -f కార్యక్రమం ఫైల్ -- ఫైల్ …pgawk POSIX లేదా GNU శైలి ఎంపికలు -- కార్యక్రమం టెక్స్ట్ ఫైల్ …

వివరణ

Gawk GNU ప్రాజెక్ట్ యొక్క AWK ప్రోగ్రామింగ్ భాష యొక్క అమలు. ఇది POSIX 1003.2 కమాండ్ లాంగ్వేజ్ అండ్ యుటిలిటీస్ స్టాండర్డ్ లో భాష యొక్క నిర్వచనంకు అనుగుణంగా ఉంటుంది. ఈ వెర్షన్ ప్రతిమలో వివరణపై ఆధారపడి ఉంది AWK ప్రోగ్రామింగ్ లాంగ్వేజ్ , అహో, కెర్నిఘాన్, మరియు వీన్బెర్గర్లు, యునిక్స్ యొక్క సిస్టమ్ V రిలీజ్ 4 సంస్కరణలో ఉన్న అదనపు లక్షణాలతో awk . Gawk కూడా ఇటీవల బెల్ లాబోరేటరీస్ అందిస్తుంది awk పొడిగింపులు, మరియు అనేక GNU-ప్రత్యేక పొడిగింపులు.

Pgawk యొక్క ప్రొఫైల్ వెర్షన్ gawk . ఇది ప్రతి విధంగా ఒకేలా ఉంటుంది gawk , ఆ కార్యక్రమాలు చాలా నెమ్మదిగా అమలు అవుతాయి, మరియు అది స్వయంచాలకంగా ఫైల్ లో ఒక అమలు ప్రొఫైల్ను ఉత్పత్తి చేస్తుంది awkprof.out పూర్తయినప్పుడు. చూడండి --ప్రొఫైల్ ఎంపిక, క్రింద.

ఆదేశ పంక్తికి ఎంపికలు ఉన్నాయి gawk స్వయంగా, AWK ప్రోగ్రామ్ టెక్స్ట్ (ద్వారా సరఫరా చేయకపోతే -f లేదా --file ఎంపికలు), మరియు విలువలు అందుబాటులో వుంటుంది argc మరియు argv ముందు నిర్వచించబడిన AWK వేరియబుల్స్.

ఎంపిక ఫార్మాట్

Gawk ఐచ్ఛికాలు సాంప్రదాయ POSIX ఒకటి అక్షరాల ఎంపికలు, లేదా గ్నూ శైలి దీర్ఘ ఎంపికలు కావచ్చు. POSIX ఎంపికలు ఒకే `` తో ప్రారంభమవుతాయి, దీర్ఘకాలిక ఎంపికలు `` - "తో ప్రారంభమవుతాయి. గ్నూ-స్పెసిఫిక్ ఫీచర్లు మరియు POSIX తప్పనిసరి ఫీచర్స్ కొరకు లాంగ్ ఐచ్చికాలు అందించబడతాయి.

POSIX ప్రమాణం తరువాత, gawk -ప్రామాణిక ఎంపికలు వాదనలు ద్వారా సరఫరా చేయబడతాయి మీరు- W ఎంపిక. బహుళ మీరు- W ఎంపికలు ప్రతి సరఫరా చేయవచ్చు మీరు- W ఆప్షన్ క్రింద ఒక దీర్ఘకాల ఎంపికను కలిగి ఉంది, క్రింద వివరించిన విధంగా. పొడవాటి ఎంపికలకు వాదనలు ఏమైనా ఎంపికచేత జతచేయబడతాయి = సైన్ ఇన్, ఏ జోక్యంలేని ఖాళీలతో, లేదా అవి తదుపరి కమాండ్ లైన్ ఆర్గ్యుమెంట్లో అందించబడతాయి. సంక్షిప్తీకరణ ప్రత్యేకంగా మిగిలి ఉన్నంతవరకు లాంగ్ ఎంపికలు సంక్షిప్తంగా ఉండవచ్చు.

ఎంపికలు

Gawk కింది ఐచ్ఛికాలను అంగీకరిస్తుంది, అక్షర క్రమంలో జాబితా చేయబడింది.

-F FS

--field విభజించడానికి FS వా డు FS ఇన్పుట్ ఫీల్డ్ విభజించడానికి (విలువ యొక్క FS ముందే వేరియబుల్).

-v var = Val

--కేటాయించవచ్చు var = Val విలువను కేటాయించండి Val వేరియబుల్ కు var , కార్యక్రమం అమలు ముందు. ఇటువంటి వేరియబుల్ విలువలు అందుబాటులో ఉన్నాయి ప్రారంభం AWK ప్రోగ్రామ్ యొక్క బ్లాక్.

-f కార్యక్రమం ఫైల్

--file కార్యక్రమం ఫైల్ ఫైల్ నుండి AWK ప్రోగ్రామ్ మూలాన్ని చదవండి కార్యక్రమం ఫైల్ , బదులుగా మొదటి కమాండ్ లైన్ వాదన నుండి. బహుళ -f (లేదా --file) ఎంపికలు ఉపయోగించవచ్చు.

-mf NNN అనగా

-శ్రీ NNN అనగా విలువకు వివిధ మెమరీ పరిమితులను సెట్ చేయండి NNN అనగా . ది f జెండా గరిష్ట సంఖ్యల ఫీల్డ్లను సెట్ చేస్తుంది, మరియు r జెండా గరిష్ట రికార్డు పరిమాణాన్ని సెట్ చేస్తుంది. ఈ రెండు జెండాలు మరియు -m ఎంపిక UNIX యొక్క బెల్ లాబొరేటరీస్ పరిశోధన వెర్షన్ నుండి awk . అవి విస్మరించబడుతున్నాయి gawk , నుండి gawk ముందు నిర్వచించబడిన పరిమితులు లేవు.

-W కంపాట్

-W సంప్రదాయ

--compat

--సంప్రదాయకమైన అమలు చెయ్యి అనుకూలత మోడ్. అనుకూలత రీతిలో, gawk UNIX కు సమానంగా ప్రవర్తిస్తుంది awk ; GNU-నిర్దిష్ట పొడిగింపులలో ఏవీ గుర్తించబడలేదు. దాని యొక్క ఉపయోగం --సంప్రదాయకమైన ఈ ఎంపిక యొక్క ఇతర రూపాల కంటే ప్రాధాన్యత ఇవ్వబడింది. చూడండి GNU పొడిగింపులు, క్రింద, మరింత సమాచారం కోసం.

-W కాపీహక్కు

-W కాపీరైట్

--copyleft

--copyright ప్రామాణిక అవుట్పుట్ నందు GNU కాపీరైట్ సమాచార సందేశం యొక్క సంక్షిప్త సంస్కరణను ముద్రించుము మరియు విజయవంతంగా నిష్క్రమించుము.

-W డంప్-వేరియబుల్స్= ఫైలు

--dump-వేరియబుల్స్= ఫైలు ప్రపంచ వేరియబుల్స్ యొక్క ఒక క్రమబద్ధీకరించిన జాబితాను ముద్రించండి, వారి రకాలు మరియు చివరి విలువలు ఫైలు . ఏవే ఫైలు అందించబడింది, gawk అనే ఫైలును ఉపయోగిస్తుంది awkvars.out ప్రస్తుత డైరెక్టరీలో.

అన్ని గ్లోబల్ వేరియబుల్స్ యొక్క జాబితాను కలిగి ఉంది, మీ కార్యక్రమాలలో టైపోగ్రాఫికల్ లోపాలు చూడటం ఉత్తమ మార్గం. మీరు చాలా ఫంక్షన్లతో ఒక పెద్ద ప్రోగ్రామ్ను కలిగి ఉంటే మీరు ఈ ఎంపికను కూడా ఉపయోగించుకుంటారు మరియు మీరు మీ ఫంక్షన్లు స్థానికంగా ఉండటానికి ఉద్దేశించిన ప్రపంచ వేరియబుల్స్ను ఉపయోగించడం లేదని మీరు అనుకోవాలనుకోండి. (ఈ వంటి సాధారణ వేరియబుల్ పేర్లతో తయారు చేయడానికి ఇది ఒక ముఖ్యంగా సులభం తప్పు నేను, j, మొదలైనవి.)

-W సహాయం

-W వినియోగం

--సహాయం

--usage స్టాండర్డ్ అవుట్పుట్పై లభ్యమయ్యే ఎంపికల యొక్క సంక్షిప్త సారాంశాన్ని ముద్రించండి. (పెర్ GNU కోడింగ్ స్టాండర్డ్స్ , ఈ ఎంపికలు వెంటనే, విజయవంతమైన నిష్క్రమణకు కారణమవుతాయి.)

-W మెత్తటి= ప్రాణాంతకం

--lint= ప్రాణాంతకం XMLAW అమలుకు సందేహాస్పద లేదా పోర్టబుల్ కాని నిర్మాణానికి సంబంధించిన హెచ్చరికలను అందించండి. ఒక ఐచ్ఛిక వాదనతో ప్రాణాంతకమైన, మెత్తటి హెచ్చరికలు తీవ్రమైన దోషాలుగా మారాయి. ఇది తీవ్రమైన కావచ్చు, కానీ దాని ఉపయోగం ఖచ్చితంగా క్లీనర్ AWK కార్యక్రమాల అభివృద్ధిని ప్రోత్సహిస్తుంది.

-W మెత్తటి-పాత

--lint-పాత Unix యొక్క అసలైన సంస్కరణకు పోర్టబుల్ కాని నిర్మాణానికి సంబంధించిన హెచ్చరికలను అందించండి awk .

-W Gen-po

--gen-పో AWK ప్రోగ్రామ్ను స్కాన్ చేసి మరియు అన్వయించండి, మరియు ఒక GNU ను ఉత్పత్తి చేయండి పో కార్యక్రమంలో అన్ని స్థానికీకరించదగిన తీగలకు ఎంట్రీలతో ప్రామాణిక అవుట్పుట్పై ఫార్మాట్ ఫైల్. కార్యక్రమం కూడా అమలు చేయబడలేదు. GNU ను చూడండి gettext మరింత సమాచారం కోసం పంపిణీ పో ఫైళ్లు.

-W కాని దశాంశ-డేటా

--non డెసిమల్ డేటా ఇన్పుట్ డేటాలో అష్టల్ మరియు హెక్సాడెసిమల్ విలువలను గుర్తించండి. గొప్ప హెచ్చరికతో ఈ ఎంపికను ఉపయోగించండి!

-W posix

--posix ఇది మారుతుంది అనుకూలత మోడ్, కింది అదనపు పరిమితులు:

*

x ఎస్కేప్ సన్నివేశాలు గుర్తించబడలేదు.

*

క్షేత్రం వేరు వేరుగా ఖాళీ మరియు ట్యాబ్ మాత్రమే పనిచేస్తాయి FS ఒకే స్థలంలో సెట్ చేయబడుతుంది, కొత్త లైన్ లేదు.

*

మీరు తర్వాత పంక్తులను కొనసాగించలేరు ? మరియు :.

*

పర్యాయపదం func కీవర్డ్ కోసం ఫంక్షన్ గుర్తించబడలేదు.

*

ఆపరేటర్లు ** మరియు **= స్థానంలో ఉపయోగించబడదు ^ మరియు ^=.

*

ది fflush () ఫంక్షన్ అందుబాటులో లేదు.

-W ప్రొఫైల్= prof_file

--ప్రొఫైల్= prof_file ప్రొఫైలింగ్ డేటాను పంపు prof_file . డిఫాల్ట్ awkprof.out. అమలు చేసినప్పుడు gawk , ప్రొఫైల్ కేవలం కార్యక్రమం యొక్క "అందమైన ప్రింటెడ్" వెర్షన్. అమలు చేసినప్పుడు pgawk , ప్రతి వినియోగదారు నిర్వచించిన ఫంక్షన్ కోసం ఎడమ మార్జిన్ మరియు ఫంక్షన్ కాల్ గణనలు ప్రోగ్రామ్లోని ప్రతి ప్రకటన యొక్క అమలు గణనలను ప్రొఫైల్ కలిగి ఉంటుంది.

-W తిరిగి విరామం

--re-విరామం ఉపయోగించడాన్ని ప్రారంభించండి విరామం వ్యక్తీకరణలు సాధారణ వ్యక్తీకరణ సరిపోలికలో (చూడండి రెగ్యులర్ ఎక్స్ప్రెషన్స్, క్రింద). ఇంటర్వెల్ ఎక్స్ప్రెషన్స్ సాంప్రదాయకంగా AWK భాషలో అందుబాటులో ఉండలేదు. POSIX ప్రమాణం వాటిని జోడించి, తయారుచేసింది awk మరియు egrep ప్రతి ఇతర తో అనుగుణంగా. అయితే, వారి ఉపయోగం పాత AWK కార్యక్రమాలను విచ్ఛిన్నం చేస్తుందని భావిస్తున్నారు gawk ఈ ఐచ్చికంతో, లేదా ఎప్పుడైనా వారు అభ్యర్థించినట్లయితే వాటిని మాత్రమే అందిస్తుంది --posix పేర్కొనబడింది.

-W మూలం కార్యక్రమం టెక్స్ట్

--source కార్యక్రమం టెక్స్ట్ వా డు కార్యక్రమం టెక్స్ట్ AWK ప్రోగ్రామ్ సోర్స్ కోడ్గా. లైబ్రరీ ఫంక్షన్ల యొక్క సులభమైన అంతర్నిర్మాణాన్ని ఈ ఐచ్చికం అనుమతిస్తుంది (దీని ద్వారా ఉపయోగించబడుతుంది -f మరియు --file ఐచ్ఛికాలు) సోర్స్ కోడ్తో కమాండ్ లైన్లో ప్రవేశించారు. ఇది షెల్ స్క్రిప్ట్స్లో ఉపయోగించే పెద్ద AWK ప్రోగ్రామ్లకు ప్రధానంగా ఉద్దేశించబడింది.

-W వెర్షన్

--version ఈ ప్రత్యేక కాపీకి సంబంధించిన వెర్షన్ సమాచారాన్ని ముద్రించండి gawk ప్రామాణిక అవుట్పుట్ న. ప్రస్తుత కాపీ ఉంటే తెలుసుకోవడం ప్రధానంగా ఉపయోగపడుతుంది gawk మీ సిస్టమ్లో ఉచిత సాప్ట్వేర్ ఫౌండేషన్ పంపిణీ చేస్తున్న వాటికి సంబంధించినది తాజాది. దోషాలను నివేదించినప్పుడు ఇది కూడా ఉపయోగపడుతుంది. (పెర్ GNU కోడింగ్ స్టాండర్డ్స్ , ఈ ఎంపికలు వెంటనే, విజయవంతమైన నిష్క్రమణకు కారణమవుతాయి.)

-- ఎంపికలు ముగింపు సిగ్నల్. AWK ప్రోగ్రామ్కు మరింత ఆర్గ్యుమెంట్లను అనుమతించుటకు ఇది `` - '' తో మొదలవుతుంది. ఇది చాలా ఇతర POSIX ప్రోగ్రామ్స్ ఉపయోగించే వాదన పార్సింగ్ కన్వెన్షన్తో అనుగుణంగా ఉంటుంది.

అనుకూలత మోడ్లో, ఏ ఇతర ఎంపికలు చెల్లనిదిగా ఫ్లాగ్ చేయబడ్డాయి, అయితే అవి విస్మరించబడతాయి. సాధారణ ఆపరేషన్లో, ప్రోగ్రామ్ టెక్స్ట్ అందించినంత వరకు, తెలియని ఎంపికలు AWK ప్రోగ్రామ్కు పంపబడతాయి argv ప్రాసెసింగ్ కోసం శ్రేణి. ఇది AWK కార్యక్రమాలను `` #! '' అమలుచేసే ఇంటర్ప్రెటర్ విధానం ద్వారా ఉపయోగపడుతుంది.

AWK ప్రోగ్రాం ఎగ్జిక్యూషన్

ఒక AWK కార్యక్రమం నమూనా-చర్య స్టేట్మెంట్స్ మరియు ఐచ్ఛిక ఫంక్షన్ నిర్వచనాల క్రమాన్ని కలిగి ఉంటుంది.

నమూనా { చర్యల ప్రకటనలు }ఫంక్షన్ పేరు ( పారామితి జాబితా ) { ప్రకటనలు }

Gawk మొదటి నుండి ప్రోగ్రామ్ మూలం చదువుతుంది కార్యక్రమం ఫైల్ (లు) పేర్కొన్నట్లయితే, వాదనలు నుండి --source, లేదా కమాండ్ లైన్పై మొదటి నాన్-ఎంపిక ఆర్గ్యుమెంట్ నుండి. ది -f మరియు --source కమాండ్ లైన్ పై అనేక సార్లు ఉపయోగించబడవచ్చు. Gawk అన్ని ప్రోగ్రామ్ పాఠాన్ని చదివి వినిపించింది కార్యక్రమం ఫైల్ s మరియు కమాండ్ లైన్ మూలం పాఠాలు కలిసి concatenated జరిగింది. AWK ఫంక్షన్ల గ్రంథాలయాలను రూపొందించడానికి ఇది ఉపయోగకరంగా ఉంటుంది, వాటిని ఉపయోగించే ప్రతి కొత్త AWK ప్రోగ్రామ్లో వాటిని చేర్చకుండానే. ఇది కమాండ్ లైన్ కార్యక్రమాలతో లైబ్రరీ ఫంక్షన్లను కలపగల సామర్థ్యాన్ని కూడా అందిస్తుంది.

ఎన్విరాన్మెంట్ వేరియబుల్ AWKPATH అనే పేరుతో సోర్స్ ఫైళ్ళను కనుగొన్నప్పుడు ఉపయోగించటానికి అన్వేషణ మార్గమును నిర్దేశిస్తుంది -f ఎంపిక. ఈ వేరియబుల్ లేకపోతే, డిఫాల్ట్ మార్గం":. / Usr / local / Share / awk". (అసలు డైరెక్టరీ మారవచ్చు, ఎలా ఆధారపడి gawk నిర్మించబడింది మరియు ఇన్స్టాల్ చేయబడింది.) ఒక ఫైల్ పేరు ఇచ్చిన ఉంటే -f ఎంపికను `` / '' అక్షరం కలిగి ఉంది, ఏ పాత్ శోధన లేదు.

Gawk క్రింది క్రమంలో AWK కార్యక్రమాలను అమలు చేస్తుంది. మొదటిది, ద్వారా పేర్కొన్న అన్ని వేరియబుల్ కేటాయింపులు -v ఎంపికను నిర్వహిస్తారు. తరువాత, gawk కార్యక్రమం అంతర్గత రూపంలోకి కూర్చింది. అప్పుడు, gawk కోడ్ను అమలు చేస్తుంది ప్రారంభం బ్లాక్ (లు) (ఏదైనా ఉంటే), ఆపై పేరున్న ప్రతి ఫైల్ను చదవబడుతుంది argv అమరిక. కమాండ్ లైన్ పేరుతో ఏ ఫైల్స్ లేకపోతే, gawk ప్రామాణిక ఇన్పుట్ను చదువుతుంది.

ఆదేశ పంక్తిలో ఫైల్ పేరు ఉంటే var = Val ఇది వేరియబుల్ కేటాయింపుగా పరిగణించబడుతుంది. వేరియబుల్ var విలువ కేటాయించబడుతుంది Val . (ఇది ఏమైనా జరుగుతుంది ప్రారంభం బ్లాక్ (లు) అమలు అయ్యాయి.) ఖాళీలను మరియు రికార్డులలో ఎలా ఇన్పుట్ విభజించబడిందో నియంత్రించడానికి వేరియబుల్స్కు డైనమిక్ విలువలను కేటాయించడం కోసం కమాండ్ లైన్ వేరియబుల్ కేటాయింపు చాలా ఉపయోగకరంగా ఉంటుంది. ఒకే డేటా దత్తాంశంలో బహుళ పాస్లు అవసరమైనట్లయితే ఇది రాష్ట్రాన్ని నియంత్రించడానికి ఉపయోగపడుతుంది.

ఒక నిర్దిష్ట అంశ విలువ argv ఖాళీగా ఉంది (''), gawk దానిపై దాటుతుంది.

ఇన్పుట్ ప్రతి రికార్డు కోసం, gawk ఇది ఏదైనా సరిపోతుందో లేదో చూడటానికి పరీక్షలు నమూనా AWK కార్యక్రమంలో. రికార్డు మ్యాచ్లు, ప్రతి సంబంధం కోసం చర్య అమలు చేయబడుతుంది. కార్యక్రమంలో అవి సంభవించే క్రమంలో నమూనాలు పరీక్షించబడతాయి.

చివరగా, అన్ని ఇన్పుట్ అయిపోయిన తర్వాత, gawk కోడ్ను అమలు చేస్తుంది END బ్లాక్ (లు) (ఏదైనా ఉంటే).

వేరియబుల్స్, రికార్డ్స్, మరియు ఫీల్డ్స్

AWK వేరియబుల్స్ డైనమిక్; వారు మొదట ఉపయోగించినప్పుడు వారు ఉనికిలోకి వస్తారు. వారి విలువలు ఫ్లోటింగ్-పాయింట్ సంఖ్యలు లేదా తీగలను లేదా రెండింటినీ ఉపయోగిస్తాయి, అవి ఎలా ఉపయోగించబడుతున్నాయి అనే దానిపై ఆధారపడి ఉంటాయి. AWK కూడా ఒక డైమెన్షనల్ శ్రేణులను కలిగి ఉంది; బహుళ కొలతలు కలిగిన శ్రేణులని అనుకరణ చేయవచ్చు. అనేక ముందు నిర్వచించబడిన వేరియబుల్స్ కార్యక్రమాన్ని నడుపుతూ ఉంటాయి; ఇవి అవసరమైతే వివరించబడతాయి మరియు క్రింద వివరించబడ్డాయి.

రికార్డ్స్

సాధారణంగా, రికార్డులు క్రొత్త అక్షరాలతో వేరు చేయబడతాయి. అంతర్నిర్మిత వేరియబుల్కు విలువలను కేటాయించడం ద్వారా రికార్డులను ఎలా వేరు చేయాలో మీరు నియంత్రించవచ్చు RS. ఉంటే RS ఏ ఒక్క పాత్ర, ఆ పాత్ర రికార్డులను వేరు చేస్తుంది. లేకపోతే, RS ఒక సాధారణ వ్యక్తీకరణ. ఈ సాధారణ వ్యక్తీకరణకు సరిపోయే ఇన్ పుట్లోని టెక్స్ట్ రికార్డును వేరు చేస్తుంది. అయితే, అనుకూలత మోడ్లో, దాని స్ట్రింగ్ విలువ యొక్క మొదటి అక్షరం రికార్డులను వేరు చేయడానికి ఉపయోగించబడుతుంది. ఉంటే RS శూన్య స్ట్రింగ్కు సెట్ చేయబడి, అప్పుడు రికార్డులు ఖాళీ పంక్తులు ద్వారా వేరు చేయబడతాయి. ఎప్పుడు RS శూన్య స్ట్రింగ్కు సెట్ చేయబడి ఉంటుంది, న్యూలైన్ అక్షరం ఎల్లప్పుడూ ఏ క్షేత్రంతో పాటు క్షేత్ర విభజన వలె పనిచేస్తుంది FS ఉండవచ్చునేమొ.

ఫీల్డ్స్

ప్రతి ఇన్పుట్ రికార్డు చదవబడుతుంది, gawk రికార్డును విడదీస్తుంది ఖాళీలను , విలువ ఉపయోగించి FS క్షేత్ర విభజన వలె వేరియబుల్. ఉంటే FS ఒక పాత్ర, ఖాళీలను ఆ పాత్ర ద్వారా వేరు. ఉంటే FS శూన్య స్ట్రింగ్, అప్పుడు ప్రతి వ్యక్తి పాత్ర ప్రత్యేక ఫీల్డ్ అవుతుంది. లేకపోతే, FS పూర్తి రెగ్యుప్రెషన్ అని భావిస్తున్నారు. ప్రత్యేక సందర్భంలో FS ఒక స్థలం, ఖాళీలను ఖాళీలు మరియు / లేదా టాబ్లు మరియు / లేదా న్యూ లైన్ల పరుగులతో వేరు చేయబడతాయి. (కానీ చర్చ చూడండి --posix, క్రింద). గమనిక: విలువ IGNORECASE (దిగువన చూడండి) ఖాళీలను ఎలా విభజించబడుతుందో కూడా ప్రభావితం చేస్తాయి FS ఒక సాధారణ వ్యక్తీకరణ, మరియు రికార్డులు వేరు చేసినప్పుడు RS ఒక సాధారణ వ్యక్తీకరణ.

ఉంటే FIELDWIDTHS వేరియబుల్ ఒక వేరు వేరుగా ఉన్న సంఖ్యల జాబితాకు సెట్ చేయబడుతుంది, ప్రతి ఫీల్డ్ స్థిర వెడల్పును కలిగి ఉంటుంది, మరియు gawk పేర్కొన్న వెడల్పులను ఉపయోగించి రికార్డును విడిపోతుంది. విలువ FS విస్మరించబడుతుంది. కొత్త విలువను కేటాయించడం FS ఉపయోగం ఓవర్రైడ్ FIELDWIDTHS, మరియు డిఫాల్ట్ ప్రవర్తన తిరిగి.

ఇన్పుట్ రికార్డులోని ప్రతి ఫీల్డ్ను దాని స్థానం ఆధారంగా సూచించవచ్చు, $1, $2, మరియు అందువలన న. $0 మొత్తం రికార్డు. పొరలు నిరంతరం ప్రస్తావించబడవు:

n = 5$ n ముద్రణించండి

ఇన్పుట్ రికార్డులో ఐదవ ఫీల్డ్ను ముద్రిస్తుంది.

వేరియబుల్ NF ఇన్పుట్ రికార్డులోని మొత్తం సంఖ్య ఫీల్డ్లకు సెట్ చేయబడింది.

ఉనికిలో లేని క్షేత్రాలకు సూచనలు (అనగా తర్వాత ఖాళీలను $ NF) శూన్య స్ట్రింగ్ను ఉత్పత్తి చేస్తుంది. అయితే, ఉనికిలో లేని క్షేత్రానికి కేటాయించడం (ఉదా., $ (NF + 2) = 5) విలువ పెంచుతుంది NF, శూన్య స్ట్రింగ్ వారి విలువగా ఏదైనా జోక్యం ఖాళీలను సృష్టిస్తుంది, మరియు విలువ కారణమవుతుంది $0 విలువలతో వేరు చేయబడి, రెక్టూప్ చేయబడుతుంది OFS. ప్రతికూల సంఖ్యా సంఖ్యలకు సూచనలు తీవ్రమైన దోషాన్ని కలిగిస్తాయి. decrementing NF కొత్త విలువను కోల్పోయిన ఖాళీలను విలువలు, మరియు విలువ యొక్క కారణమవుతుంది $0 విలువలతో వేరు చేయబడి, రెక్టూప్ చేయబడుతుంది OFS.

ఇప్పటికే ఉన్న క్షేత్రానికి విలువను కేటాయించడం మొత్తం రికార్డును పునర్నిర్మించటానికి కారణమవుతుంది $0 సూచించబడింది. అదేవిధంగా, ఒక విలువను కేటాయించడం $0 రికార్డును రీప్లేట్ చేయడానికి కారణమవుతుంది, క్షేత్రాలకు కొత్త విలువలను సృష్టిస్తుంది.

అంతర్నిర్మిత వేరియబుల్స్

Gawk యొక్క అంతర్నిర్మిత వేరియబుల్స్ ఉన్నాయి:

argc

కమాండ్ లైన్ వాదనలు సంఖ్య (ఎంపికలను కలిగి లేదు gawk , లేదా ప్రోగ్రామ్ మూలం).

ARGIND

ఇన్ ఇండెక్స్ argv ప్రస్తుత ఫైల్ ప్రాసెస్ చేయబడుతోంది.

argv

కమాండ్ లైన్ వాదనలు అర్రే. శ్రేణి 0 నుండి ఇండెక్స్ చేయబడింది argc - 1. డైనమిక్ యొక్క కంటెంట్లను మార్చడం argv డేటా కోసం ఉపయోగించే ఫైళ్ళను నియంత్రించవచ్చు.

BINMODE

POSIX యేతర వ్యవస్థలలో, అన్ని ఫైల్ I / O లకు `` బైనరీ '' మోడ్ను ఉపయోగించడాన్ని నిర్దేశిస్తుంది. 1, 2, లేదా 3 యొక్క సంఖ్యా విలువలు ఇన్పుట్ ఫైల్స్, అవుట్పుట్ ఫైల్స్ లేదా అన్ని ఫైళ్ళను వరుసగా పేర్కొనండి, ద్వియాంశ I / O ను ఉపయోగించాలి. స్ట్రింగ్ విలువలు "R", లేదా "W" ఇన్పుట్ ఫైల్స్, లేదా అవుట్పుట్ ఫైళ్లను వరుసగా పేర్కొనండి, బైనరీ I / O ను ఉపయోగించాలి. స్ట్రింగ్ విలువలు "RW" లేదా "WR" అన్ని ఫైళ్ళు బైనరీ I / O ను ఉపయోగించవచ్చని తెలుపుము. ఏ ఇతర స్ట్రింగ్ విలువ గా వ్యవహరిస్తారు "RW", కానీ హెచ్చరిక సందేశాన్ని సృష్టిస్తుంది.

CONVFMT

సంఖ్యల కోసం మార్పిడి ఫార్మాట్, "% .6g", అప్రమేయంగా.

ENVIRON

ప్రస్తుత వాతావరణంలో విలువలను కలిగి ఉన్న శ్రేణి. ఈ శ్రేణి ఎన్విరాన్మెంట్ వేరియబుల్స్ చేత ఇండెక్స్ చేయబడుతుంది, ప్రతి మూలకం ఆ వేరియబుల్ విలువ (ఉదా.ENVIRON "హోమ్" కావచ్చు / Home / ఆర్నాల్డ్). ఈ శ్రేణిని మార్చడం కార్యక్రమాల ద్వారా కనిపించే పర్యావరణాన్ని ప్రభావితం చేయదు gawk రీడైరక్షన్ ద్వారా లేదా స్పాన్స్ వ్యవస్థ ()ఫంక్షన్.

ERRNO

ఒక వ్యవస్థ లోపం ఒక మళ్లింపును చేస్తూ ఉంటే సంభవిస్తుంది getline, చదివే సమయంలో getline, లేదా ఒక సమయంలో దగ్గరగా (), అప్పుడు ERRNO లోపం వివరిస్తూ స్ట్రింగ్ను కలిగి ఉంటుంది. విలువ ఆంగ్ల కాని భాషలలో అనువాదంకు లోబడి ఉంటుంది.

FIELDWIDTHS

ఫీల్డ్-సైడ్ల యొక్క తెల్లని-ఖాళీ వేరు జాబితా. సెట్ చేసినప్పుడు, gawk విలువను ఉపయోగించి బదులుగా ఇన్పుట్ను స్థిర వెడల్పు క్షేత్రంలోకి పంపుతుంది FS క్షేత్ర విభజన వలె వేరియబుల్.

FILENAME

ప్రస్తుత ఇన్పుట్ ఫైల్ పేరు.ఏ ఫైల్స్ ఆదేశ పంక్తిలో లేకపోతే, విలువ FILENAME '' - ''. అయితే, FILENAME లోపల నిర్వచించబడలేదు ప్రారంభం బ్లాక్ (సెట్ ద్వారా తప్ప getline).

FNR

ప్రస్తుత ఇన్పుట్ ఫైల్లో ఇన్పుట్ రికార్డ్ సంఖ్య.

FS

అప్రమేయంగా ఇన్పుట్ ఫీల్డ్ విభజన, స్పేస్. చూడండి ఫీల్డ్స్, పైన.

IGNORECASE

అన్ని సాధారణ వ్యక్తీకరణ మరియు స్ట్రింగ్ కార్యకలాపాల కేస్-సెన్సిటివిటీని నియంత్రిస్తుంది. ఉంటే IGNORECASE ఒక సున్నా-కాని విలువను కలిగి ఉంటుంది, ఆపై నియమాలు, ఫీల్డ్ విభజనతో స్ట్రింగ్ పోలికలు మరియు నమూనా సరిపోలిక FS, రికార్డు వేరు RS, సాధారణ వ్యక్తీకరణతో సరిపోలుతోంది ~మరియు !~, ఇంకా gensub (), gsub (), ఇండెక్స్ (), మ్యాచ్ (), స్ప్లిట్ (), మరియు ఉప () రెగ్యులర్ ఎక్స్ప్రెషన్ కార్యకలాపాలను చేస్తున్నప్పుడు అన్ని అంతర్నిర్మిత విధులను విస్మరించాలి. గమనిక: అర్రే సబ్ స్క్రిప్టింగ్ ఉంది కాదు ప్రభావితం, లేదా కాదు asort () ఫంక్షన్.

అందువలన, ఉంటే IGNORECASE సున్నాకి సమానం కాదు, / AB / అన్ని తీగలను సరిపోతుంది "Ab", "AB","Ab", మరియు "AB". అన్ని AWK వేరియబుల్స్ మాదిరిగా, ప్రారంభ విలువ IGNORECASE సున్నా, కాబట్టి అన్ని సాధారణ వ్యక్తీకరణ మరియు స్ట్రింగ్ కార్యకలాపాలు సాధారణంగా కేస్ సెన్సిటివ్. Unix లో, కేసును విస్మరిస్తున్నప్పుడు పూర్తి ISO 8859-1 లాటిన్-1 అక్షర సమితిని ఉపయోగించారు.

లింట్

యొక్క డైనమిక్ నియంత్రణ అందిస్తుంది --lint ఒక AWK కార్యక్రమంలో నుండి ఎంపిక. నిజమైనప్పుడు, gawk ముద్రల మెత్తటి హెచ్చరికలు. తప్పుడు, అది కాదు. స్ట్రింగ్ విలువను కేటాయించినప్పుడు "ఫాటల్", మెత్తటి హెచ్చరికలు ప్రాణాపాయ లోపాలుగా మారాయి, సరిగ్గా ఇష్టం --lint = ప్రాణాంతకం. ఇతర నిజమైన విలువ కేవలం హెచ్చరికలను ముద్రిస్తుంది.

NF

ప్రస్తుత ఇన్పుట్ రికార్డులోని ఫీల్డ్ల సంఖ్య.

ఎన్ ఆర్

ఇప్పటివరకు కనిపించే మొత్తం ఇన్పుట్ రికార్డుల సంఖ్య.

OFMT

సంఖ్యలకు అవుట్పుట్ ఫార్మాట్, "% .6g", అప్రమేయంగా.

OFS

అవుట్పుట్ ఫీల్డ్ విభజించడానికి, అప్రమేయంగా ఖాళీ.

ఇతరులు

అవుట్పుట్ రికార్డు విభజన, డిఫాల్ట్గా క్రొత్త లైన్.

PROCINFO

ఈ శ్రేణి యొక్క మూలకాలు నడుస్తున్న AWK ప్రోగ్రామ్ గురించి సమాచారాన్ని ప్రాప్తి చేస్తాయి. కొన్ని వ్యవస్థలపై, అర్రేలో అంశాలు ఉండవచ్చు, "GROUP 1" ద్వారా "గుంపు n ' కొన్ని కోసం n , ఇది ప్రక్రియ యొక్క అనుబంధ సమూహాల సంఖ్య. ఉపయోగించడానికి లో ఈ అంశాల కోసం పరీక్షించడానికి ఆపరేటర్లు. కింది అంశాలు అందుబాటులో ఉన్నాయి:

PROCINFO "egid"

విలువ getegid (2) సిస్టమ్ కాల్.

PROCINFO "euid"

విలువ geteuid (2) సిస్టమ్ కాల్.

PROCINFO "FS"

"FS" ఫీల్డ్ విభజన ఉంటే FS ప్రభావం, లేదా "FIELDWIDTHS" ఫీల్డ్ విభజన ఉంటే FIELDWIDTHS ప్రభావం ఉంది.

PROCINFO "gid"

విలువ getgid (2) సిస్టమ్ కాల్.

PROCINFO "pgrpid"

ప్రస్తుత ప్రక్రియ యొక్క ప్రాసెస్ సమూహం ID.

PROCINFO "పిఐడి"

ప్రస్తుత ప్రక్రియ యొక్క ప్రక్రియ ID.

PROCINFO "PPID"

ప్రస్తుత ప్రాసెస్ యొక్క మాతృ ప్రక్రియ ID.

PROCINFO "UID"

విలువ getuid (2) సిస్టమ్ కాల్.

RS

ఇన్పుట్ రికార్డు విభజన, డిఫాల్ట్గా క్రొత్త లైన్.

RT

రికార్డు టెర్మినేటర్. Gawk సెట్లు RT పేర్కొన్న పాత్ర లేదా సాధారణ వ్యక్తీకరణకు సరిపోలే ఇన్పుట్ టెక్స్ట్ కు RS.

RSTART

మొదటి అక్షరం యొక్క సూచిక సరిపోలింది మ్యాచ్ (); 0 సరిపోలడం లేదు. (ఇది అక్షరాల సూచికలు ఒకటి ప్రారంభమవుతుంది అని సూచిస్తుంది.)

RLENGTH

సరిపోలిన స్ట్రింగ్ యొక్క పొడవు మ్యాచ్ (); -1 సరిపోలడం లేదు.

SUBSEP

అప్రమేయంగా అర్రే మూలకాలలో బహుళ సబ్స్క్రిప్ట్స్ వేరు చేయటానికి ఉపయోగించే పాత్ర ' 034'.

textdomain

AWK ప్రోగ్రామ్ యొక్క టెక్స్ట్ డొమైన్; ప్రోగ్రామ్ యొక్క తీగలకు స్థానికీకరించిన అనువాదాలను కనుగొనడానికి ఉపయోగిస్తారు.

వ్యూహాలను

శ్రేణుల చతురస్ర బ్రాకెట్ల మధ్య వ్యక్తీకరణతో మరియు ). వ్యక్తీకరణ వ్యక్తీకరణ జాబితా ( expr , expr …) అప్పుడు శ్రేణి సబ్ స్క్రిప్టు ప్రతి వ్యక్తీకరణ యొక్క (స్ట్రింగ్) విలువ యొక్క అనుసంధానంతో కూడిన స్ట్రింగ్, ఇది విలువ యొక్క విలువతో వేరు చేయబడుతుంది SUBSEP వేరియబుల్. ఈ సౌకర్యం గుణకార పరిమాణాల శ్రేణులను అనుకరించేందుకు ఉపయోగిస్తారు. ఉదాహరణకి:

i = "A"; j = "B"; k = "C"x i, j, k = "హలో, ప్రపంచ n"

స్ట్రింగ్ను నిర్దేశిస్తుంది "హలో, ప్రపంచ n" అర్రే యొక్క మూలకానికి x ఇది స్ట్రింగ్ ద్వారా ఇండెక్స్ చేయబడింది"A 034B 034C". AWK లోని అన్ని శ్రేణులు సహసంబంధమైనవి, అనగా స్ట్రింగ్ విలువల ద్వారా సూచించబడతాయి.

ప్రత్యేక ఆపరేటర్ లో ఒక ఉపయోగించవచ్చు ఉంటే లేదా అయితే ఒక అర్రే ఒక నిర్దిష్ట విలువను కలిగి ఉన్న ఒక సూచిక కలిగి ఉన్నదానిని చూడడానికి ప్రకటన.

ఉంటే (శ్రేణి లో విలువ) ప్రింట్ అర్రే val

అర్రే బహుళ సభ్యత్వాలను కలిగి ఉంటే, ఉపయోగించు (i, j) శ్రేణిలో.

ది లో నిర్మాణం కూడా ఒక ఉపయోగించవచ్చు కోసం శ్రేణి యొక్క అన్ని అంశాలపై iterate చేయడానికి లూప్.

ఒక మూలకం ఉపయోగించి ఒక అర్రే నుండి తొలగించబడవచ్చు తొలగించండి ప్రకటన. ది తొలగించండి సంతకం లేకుండా శ్రేణి పేరును పేర్కొనడం ద్వారా, వ్యూహంలోని మొత్తం కంటెంట్లను తొలగించడానికి కూడా ప్రకటన ఉపయోగించవచ్చు.

వేరియబుల్ టైప్ మరియు కన్వర్షన్

వేరియబుల్స్ మరియు ఫీల్డ్లు (ఫ్లోటింగ్ పాయింట్) సంఖ్యలు, లేదా స్ట్రింగ్స్ లేదా రెండూ కావచ్చు. వేరియబుల్ యొక్క విలువ దాని సందర్భంపై ఆధారపడి ఎలా వ్యాఖ్యానించబడుతుంది. సంఖ్యాత్మక వ్యక్తీకరణలో ఉపయోగించినట్లయితే, ఇది ఒక సంఖ్యగా పరిగణించబడుతుంది, స్ట్రింగ్గా ఉపయోగించినట్లయితే ఇది స్ట్రింగ్గా పరిగణించబడుతుంది.

ఒక సంఖ్యగా పరిగణించాల్సిన వేరియబుల్ను బలపరచడానికి, దానికి 0 ని జోడించండి; దీనిని స్ట్రింగ్గా పరిగణించమని బలవంతం చేస్తే, అది శూన్య స్ట్రింగ్తో కలుపుకొని ఉంటుంది.

ఒక స్ట్రింగ్ ఒక సంఖ్యగా మార్చబడినప్పుడు, మార్పిడి ద్వారా సాధించవచ్చు strtod (3). విలువను ఉపయోగించి ఒక సంఖ్య స్ట్రింగ్కు మార్చబడుతుంది CONVFMT ఫార్మాట్ స్ట్రింగ్ కోసం sprintf (3), వాల్యూమ్ యొక్క సంఖ్యా విలువ వాదనగా. అయినప్పటికీ, AWK లోని అన్ని సంఖ్యలు ఫ్లోట్ పాయింట్ అయినప్పటికీ, సమగ్ర విలువలు ఎల్లప్పుడూ పూర్ణాంకాలుగా మార్చబడతాయి. అందువలన, ఇచ్చిన

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

వేరియబుల్ బి యొక్క స్ట్రింగ్ విలువ ఉంది '12' మరియు కాదు '12.00'.

Gawk ఈ క్రింది పోలికలను నిర్వహిస్తుంది: రెండు వేరియబుల్స్ సంఖ్యా ఉంటే, అవి సంఖ్యాపరంగా సరిపోతాయి. ఒక విలువ సంఖ్యా మరియు మరొకటి స్ట్రింగ్ విలువ ఉంటే అది "సంఖ్యా స్ట్రింగ్", అప్పుడు పోలికలు సంఖ్యాపరంగా జరుగుతాయి. లేకపోతే, సంఖ్యా విలువ స్ట్రింగ్కు మార్చబడుతుంది మరియు స్ట్రింగ్ పోలిక నిర్వహిస్తారు. తీగలను రెండు తీగలను, వాస్తవానికి, పోల్చారు. POSIX ప్రమాణం ప్రతిచోటా, "స్ట్రింగ్ స్టాండింగ్" యొక్క భావనను, స్ట్రింగ్ స్థిరాంకాలకు కూడా వర్తిస్తుంది. అయితే, ఇది స్పష్టంగా తప్పు, మరియు gawk దీన్ని చేయరు. (అదృష్టవశాత్తూ, ఈ ప్రామాణిక తదుపరి వెర్షన్ లో పరిష్కరించబడింది.)

గమనించండి స్ట్రింగ్ స్థిరాంకాలు, వంటి '57', ఉన్నాయి కాదు సంఖ్యా తీగలను, అవి స్ట్రింగ్ స్థిరాంకాలు. "సంఖ్యా స్ట్రింగ్" యొక్క ఆలోచన ఖాళీలను మాత్రమే వర్తిస్తుంది, getline ఇన్పుట్, FILENAME, argv అంశాలు, ENVIRON మూలకాలు మరియు సృష్టించిన శ్రేణి మూలకాలు స్ప్లిట్ () అవి సంఖ్యా తీగలను కలిగి ఉంటాయి. ప్రాథమిక ఆలోచన ఇది వినియోగదారు ఇన్పుట్ , మరియు వినియోగదారు ఇన్ పుట్, సంఖ్యా చూస్తుంది, ఆ విధంగా చికిత్స చేయాలి.

"" "(" శూన్య, లేదా ఖాళీ, స్ట్రింగ్) "" విలువలేని "" వేరియబుల్స్ సంఖ్యా విలువ 0 మరియు స్ట్రింగ్ విలువను కలిగి ఉంటాయి.

ఆక్టాల్ మరియు హెక్సాడెసిమల్ స్థిరాంకాలు

వెర్షన్ 3.1 తో ప్రారంభమవుతుంది గాక, మీరు మీ AWK ప్రోగ్రామ్ సోర్స్ కోడ్లో సి-స్టైల్ అష్టల్ మరియు హెక్సాడెసిమల్ స్థిరాంకాలను ఉపయోగించవచ్చు. ఉదాహరణకు, అష్ట విలువ 011 దశాంశకి సమానం 9, మరియు హెక్సాడెసిమల్ విలువ 0x11 దశాంశకి సమానం 17.

స్ట్రింగ్ స్థిరాంకాలు

AWK లోని స్ట్రింగ్ స్థిరాంకాలు డబుల్ కోట్స్ మధ్య ఉండే అక్షరాల క్రమాలు ('). తీగలలో, కొన్ని ఎస్కేప్ సన్నివేశాలు C. లో ఉన్నట్లు గుర్తించబడ్డాయి:

\

ఒక సాహిత్య బాక్ స్లాష్.

ఒక

"హెచ్చరిక" పాత్ర; సాధారణంగా ASCII BEL పాత్ర.

b

బ్యాక్స్పేస్ను.

f

రూపం-తిండికి.

n

కొత్త వాక్యం.

r

క్యారేజ్ రిటర్న్.

t

సమాంతర టాబ్.

v

నిలువు టాబ్.

x హెక్స్ అంకెలు

హెక్సాడెసిమల్ అంకెల యొక్క స్ట్రింగ్ ద్వారా ప్రాతినిధ్యం వహించే అక్షరం x. ANSIC లాగా, అన్ని క్రింది హెక్సాడెసిమల్ అంకెలు ఎస్కేప్ సీక్వెన్స్లో భాగముగా పరిగణించబడతాయి. (ఈ లక్షణం మాకు కమిటీచే భాష రూపకల్పన గురించి ఏదో చెప్పాలి.) ఉదా., " X1B" ASCIIESC (తప్పించుకోవటానికి) పాత్ర.

DDD

అష్టాంశ సంఖ్యల 1-, 2-, లేదా 3 అంకెల క్రమంలో ప్రాతినిధ్యం వహిస్తున్న పాత్ర. ఉదా, ' 033' ASCII ESC (ఎస్కేప్) పాత్ర.

సి

సాహిత్య పాత్ర సి .

నిరంతర సాధారణ వ్యక్తీకరణల్లో కూడా ఎస్కేప్ సన్నివేశాలను ఉపయోగించవచ్చు (ఉదా.,/ t f n r v v / తెల్లని అక్షరాలు సరిపోలడం).

అనుకూల మోడ్లో, రెగ్యులర్ వ్యక్తీకరణ స్థిరాంకాలు ఉపయోగించినప్పుడు అష్ట