AWK NF అంటే ఏమిటి?

Awk Nf Ante Emiti



AWK స్క్రిప్టింగ్ భాష కొన్ని ముందే నిర్వచించబడిన ప్రయోజనాలను అందించడానికి అంతర్నిర్మిత ప్రత్యేక వేరియబుల్‌ల శ్రేణిని కూడా కలిగి ఉంది. అటువంటి అంతర్నిర్మిత వేరియబుల్ 'NF' దాని స్వంత ముందే నిర్వచించబడిన కార్యాచరణను కలిగి ఉంది. ఈ వ్యాసం ఉబుంటు 20.04లో కొన్ని సంబంధిత ఉదాహరణలను ప్రదర్శించడం ద్వారా ఈ అంతర్నిర్మిత AWK వేరియబుల్ యొక్క ప్రయోజనాన్ని అన్వేషిస్తుంది.

ఉబుంటు 20.04లో AWK NF:

“NF” AWK వేరియబుల్ అందించబడిన ఏదైనా ఫైల్ యొక్క అన్ని లైన్‌లలోని ఫీల్డ్‌ల సంఖ్యను ముద్రించడానికి ఉపయోగించబడుతుంది. ఈ అంతర్నిర్మిత వేరియబుల్ ఫైల్‌లోని అన్ని పంక్తుల ద్వారా ఒక్కొక్కటిగా పునరావృతమవుతుంది మరియు ప్రతి పంక్తికి విడిగా ఫీల్డ్‌ల సంఖ్యను ముద్రిస్తుంది. ఈ కార్యాచరణను చక్కగా అర్థం చేసుకోవడానికి, మీరు దిగువ చర్చించిన ఉదాహరణలను చదవాలి.

ఉబుంటు 20.04లో AWK NF వినియోగాన్ని ప్రదర్శించడానికి ఉదాహరణలు:

AWK NF వినియోగాన్ని మీకు చాలా సులభంగా అర్థం చేసుకునే విధంగా బోధించే విధంగా క్రింది నాలుగు ఉదాహరణలు రూపొందించబడ్డాయి. ఈ ఉదాహరణలన్నీ ఉబుంటు 20.04 ఆపరేటింగ్ సిస్టమ్ ఉపయోగించి అమలు చేయబడ్డాయి.







ఉదాహరణ # 1: టెక్స్ట్ ఫైల్ యొక్క ప్రతి లైన్ నుండి ఫీల్డ్‌ల సంఖ్యను ప్రింట్ చేయండి:

ఈ ఉదాహరణలో, మేము ఉబుంటు 20.04లో టెక్స్ట్ ఫైల్ యొక్క ప్రతి పంక్తి లేదా అడ్డు వరుస లేదా రికార్డ్ యొక్క ఫీల్డ్‌లు లేదా నిలువు వరుసల సంఖ్యను ప్రింట్ చేయాలనుకుంటున్నాము. అలా చేసే పద్ధతిని మీకు చూపడం కోసం, మేము దిగువ చిత్రంలో చూపిన టెక్స్ట్ ఫైల్‌ని సృష్టించాము. ఈ టెక్స్ట్ ఫైల్‌లో పాకిస్తాన్‌లోని ఐదు వేర్వేరు నగరాల నుండి కిలోగ్రాముకు ఆపిల్‌ల ధరలు ఉన్నాయి.





మేము ఈ నమూనా టెక్స్ట్ ఫైల్‌ని సృష్టించిన తర్వాత, మా టెర్మినల్‌లోని ఈ టెక్స్ట్ ఫైల్‌లోని ప్రతి లైన్ నుండి ఫీల్డ్‌ల సంఖ్యను ప్రింట్ చేయడానికి మేము కింది ఆదేశాన్ని అమలు చేసాము:





$ awk ' { NFని ముద్రించండి } AppleRates.txt

ఈ కమాండ్‌లో, మేము AWK కమాండ్‌ని అమలు చేస్తున్నామని చూపే “awk” కీవర్డ్‌ని కలిగి ఉన్నాము, దాని తర్వాత “ప్రింట్ NF” స్టేట్‌మెంట్‌ను కేవలం టార్గెట్ టెక్స్ట్ ఫైల్‌లోని ప్రతి పంక్తి ద్వారా మళ్లిస్తుంది మరియు ప్రతి దాని కోసం విడిగా ఫీల్డ్‌ల సంఖ్యను ప్రింట్ చేస్తుంది. టెక్స్ట్ ఫైల్ యొక్క లైన్. చివరగా, మేము ఆ టెక్స్ట్ ఫైల్ పేరును కలిగి ఉన్నాము (దీని ఫీల్డ్‌లను లెక్కించాలి) ఇది మా విషయంలో “AppleRatest.txt”.



మన టెక్స్ట్ ఫైల్‌లోని మొత్తం ఐదు లైన్‌లకు, అంటే 2కి ఒకే సంఖ్యలో ఫీల్డ్‌లు ఉన్నాయి కాబట్టి, ఈ ఆదేశాన్ని అమలు చేయడం వల్ల అన్ని టెక్స్ట్ ఫైల్ లైన్‌ల కోసం అదే సంఖ్య ఫీల్డ్‌ల సంఖ్యగా ముద్రించబడుతుంది. ఇది క్రింది చిత్రం నుండి చూడవచ్చు:

ఉదాహరణ # 2: టెక్స్ట్ ఫైల్ యొక్క ప్రతి లైన్ నుండి ఫీల్డ్‌ల సంఖ్యను ప్రదర్శించదగిన పద్ధతిలో ముద్రించండి:

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

$ awk ' { ప్రింట్ NR, “---”, NF } AppleRates.txt

ఈ కమాండ్‌లో, మేము అంతర్నిర్మిత AWK వేరియబుల్ “NR”ని పరిచయం చేసాము, అది మా టార్గెట్ టెక్స్ట్ ఫైల్‌లోని అన్ని లైన్ల లైన్ నంబర్‌లను ప్రింట్ చేస్తుంది. అంతేకాకుండా, మేము అందించిన టెక్స్ట్ ఫైల్ యొక్క ఫీల్డ్‌ల సంఖ్య నుండి పంక్తి సంఖ్యలను వేరు చేయడానికి ప్రత్యేక అక్షరంగా “—” అనే మూడు డాష్‌లను ఉపయోగించాము.

అదే టెక్స్ట్ ఫైల్ యొక్క కొద్దిగా సవరించిన అవుట్‌పుట్ క్రింది చిత్రంలో చూపబడింది:

ఉదాహరణ # 3: టెక్స్ట్ ఫైల్ యొక్క ప్రతి లైన్ నుండి మొదటి మరియు చివరి ఫీల్డ్‌లను ప్రింట్ చేయండి:

అందించిన టెక్స్ట్ ఫైల్ యొక్క అన్ని లైన్ల ఫీల్డ్‌ల సంఖ్యను లెక్కించడమే కాకుండా, అందించిన టెక్స్ట్ ఫైల్ నుండి చివరి ఫీల్డ్ యొక్క వాస్తవ విలువలను సంగ్రహించడానికి AWK యొక్క “NF” ప్రత్యేక వేరియబుల్ కూడా ఉపయోగించబడుతుంది. మళ్ళీ, మేము మా మొదటి రెండు ఉదాహరణల కోసం ఉపయోగించిన అదే టెక్స్ట్ ఫైల్‌ను ఉపయోగించాము. అయినప్పటికీ, మేము ఈ ఉదాహరణలో మా టెక్స్ట్ ఫైల్ యొక్క మొదటి మరియు చివరి ఫీల్డ్‌ల వాస్తవ విలువలను ముద్రించాలనుకుంటున్నాము. దాని కోసం, మేము కింది ఆదేశాన్ని అమలు చేసాము:

$ awk ' { ముద్రణ $1 , $NF } AppleRates.txt

ఈ కమాండ్‌లో “awk” కీవర్డ్ తర్వాత “ప్రింట్ $1, $NF” స్టేట్‌మెంట్ ఉంటుంది. '$1' ప్రత్యేక వేరియబుల్ మొదటి ఫీల్డ్ లేదా మేము అందించిన టెక్స్ట్ ఫైల్ యొక్క మొదటి నిలువు వరుస యొక్క విలువలను ముద్రించడానికి ఉపయోగించబడింది, అయితే '$NF' AWK వేరియబుల్ చివరి ఫీల్డ్ లేదా చివరి నిలువు వరుస యొక్క విలువలను ముద్రించడానికి ఉపయోగించబడింది. మా లక్ష్య టెక్స్ట్ ఫైల్. మేము “NF” AWK వేరియబుల్‌ని ఉపయోగించినప్పుడు, అది ప్రతి పంక్తి యొక్క ఫీల్డ్‌ల సంఖ్యను లెక్కించడానికి ఉపయోగించబడుతుందని మీరు ఇక్కడ గమనించాలి; అయినప్పటికీ, ఇది డాలర్ '$' చిహ్నంతో ఉపయోగించినప్పుడు, అది అందించిన టెక్స్ట్ ఫైల్ యొక్క చివరి ఫీల్డ్ నుండి వాస్తవ విలువలను సంగ్రహిస్తుంది. మిగిలిన కమాండ్ మొదటి రెండు ఉదాహరణల కోసం ఉపయోగించిన కమాండ్‌ల మాదిరిగానే ఎక్కువ లేదా తక్కువ ఉంటుంది.

దిగువ చూపిన అవుట్‌పుట్‌లో, మేము అందించిన టెక్స్ట్ ఫైల్ యొక్క మొదటి మరియు చివరి ఫీల్డ్‌ల నుండి వాస్తవ విలువలు టెర్మినల్‌లో ముద్రించబడిందని మీరు చూడవచ్చు. మేము అందించిన టెక్స్ట్ ఫైల్‌లో కేవలం రెండు ఫీల్డ్‌లను మాత్రమే కలిగి ఉన్నందున ఈ అవుట్‌పుట్ “క్యాట్” కమాండ్ యొక్క అవుట్‌పుట్‌తో సమానంగా ఉందని మీరు చూడవచ్చు; కాబట్టి, ఒక విధంగా, పైన పేర్కొన్న ఆదేశాన్ని అమలు చేయడం వలన మా మొత్తం టెక్స్ట్ ఫైల్ యొక్క కంటెంట్‌లు టెర్మినల్‌లో ముద్రించబడ్డాయి.

ఉదాహరణ # 4: టెక్స్ట్ ఫైల్‌లో మిస్సింగ్ ఫీల్డ్‌లతో రికార్డ్‌లను వేరు చేయండి:

కొన్ని సమయాల్లో, టెక్స్ట్ ఫైల్‌లో కొన్ని మిస్సింగ్ ఫీల్డ్‌లతో కొన్ని రికార్డ్‌లు ఉన్నాయి మరియు మీరు ఆ రికార్డ్‌లను ప్రతి అంశంలో పూర్తి చేసిన వాటి నుండి వేరు చేయాలనుకోవచ్చు. ఇది 'NF' AWK వేరియబుల్ ఉపయోగించి కూడా చేయవచ్చు. దాని కోసం, మేము 'ExamMarks.txt' పేరుతో ఒక టెక్స్ట్ ఫైల్‌ని సృష్టించాము, అందులో మూడు వేర్వేరు పరీక్షల్లో ఐదుగురు వేర్వేరు విద్యార్థుల పరీక్ష స్కోర్‌లు వారి పేర్లతో పాటు ఉంటాయి. అయితే, మూడవ పరీక్షకు, కొంతమంది విద్యార్థులు గైర్హాజరయ్యారు, దీని కారణంగా వారి స్కోర్లు లేవు. ఈ టెక్స్ట్ ఫైల్ క్రింది విధంగా ఉంది:

పూర్తి ఫీల్డ్‌లతో రికార్డ్‌ల నుండి తప్పిపోయిన ఫీల్డ్‌లతో రికార్డ్‌లను వేరు చేయడానికి, మేము దిగువ చూపిన ఆదేశాన్ని అమలు చేస్తాము:

$ awk ' { ప్రింట్ NR, “--- > ”, NF } ExamMarks.txt

ఈ కమాండ్ మన రెండవ ఉదాహరణ కోసం ఉపయోగించినది అదే. అయితే, కింది చిత్రంలో చూపిన ఈ కమాండ్ యొక్క అవుట్‌పుట్ నుండి, మీరు మొదటి మరియు నాల్గవ రికార్డ్‌లు పూర్తయినట్లు చూడవచ్చు, అయితే రెండవ, మూడవ మరియు ఐదవ రికార్డులు తప్పిపోయిన ఫీల్డ్‌లను కలిగి ఉంటాయి.

ముగింపు:

ఈ కథనం యొక్క ఉద్దేశ్యం “NF” AWK ప్రత్యేక వేరియబుల్ వినియోగాన్ని వివరించడం. ఈ వేరియబుల్ ఎలా పనిచేస్తుందో మేము మొదట క్లుప్తంగా చర్చించాము మరియు ఆ తర్వాత, మేము ఈ భావనను నాలుగు విభిన్న ఉదాహరణల సహాయంతో బాగా వివరించాము. మీరు అన్ని భాగస్వామ్య ఉదాహరణలను బాగా అర్థం చేసుకున్న తర్వాత, మీరు మొత్తం ఫీల్డ్‌ల సంఖ్యను లెక్కించడానికి మరియు అందించిన ఫైల్ యొక్క చివరి ఫీల్డ్ యొక్క వాస్తవ విలువలను ప్రింట్ చేయడానికి “NF” AWK వేరియబుల్‌ని ఉపయోగించగలరు.