Linux-AWK/C2/Built-in-Variables-in-awk/Telugu
|
|
00:01 | awk built-in variables and awk script పై స్పొకెన్ ట్యుటోరియల్ కు స్వాగతం. |
00:07 | ఈ ట్యుటోరియల్ లో మనం Built-in variables, awk script గురించి తెలుసుకుంటాం. |
00:14 | మనం దీనిని కొన్ని ఉదాహరణలతో చూద్దాం. |
00:17 | ఈ ట్యుటోరియల్ ని రెకార్డ్ చేయడానికి నేను ఉబంటులినక్స్ 16.04 ఆపరేటింగ్ సిస్టం మరియు జిఎడిట్ టెక్స్ట్ ఎడిటర్ 3.20.1 ని ఉపయోగిస్తున్నాను. |
00:30 | ఈ ట్యుటొరియల్ లో ఉపయోగించిన ఫైల్ లు ఈ ట్యుటొరియల్ పేజ్ లో ఉన్న Code Files లింక్ లో అందుబాటులో ఉన్నాయి. దయచేసి డౌన్లోడ్ చేసి సంగ్రహించండి. |
00:40 | ఈ ట్యుటొరియల్ ను అభ్యసించడానికి మీకు మా వెబ్సైట్ లోని మునుపటి awk ట్యుటొరియల్స్ పై అవగాహన ఉండాలి. |
00:47 | లేదంటే, తత్సంభంధిత ట్యుటొరియల్స్ కొరకు మా వెబ్ సైట్ ని సంప్రదించండి. |
00:52 | ముందుగా, మనం awk లో కొన్ని built-in variables ని చూద్దాం. |
00:57 | క్యాపిటల్ RS అనేది ఒక input ఫైల్ లో record separator ని పేర్కొంటుంది. అప్రమేయంగా, ఇది newline. |
01:07 | క్యాపిటల్ FS అనేది ఒక input ఫైల్ లో field separator ని పేర్కొంటుంది. |
01:13 | డీఫాల్ట్ గా FS విలువ అనేది ఒక whitespace. |
01:18 | క్యాపిటల్ ORS అనేది output record separator ని నిర్వచిస్తుంది. డీఫాల్ట్ గా అది newline. |
01:27 | క్యాపిటల్ OFS అనేది output field separator ని నిర్వచిస్తుంది. డీఫాల్ట్ గా అది whitespace. |
01:36 | మనం వీటిలో ప్రతి ఒక్కదాని అర్ధాన్ని అర్థం చేసుకుందాం. |
01:40 | ఇప్పుడు awkdemo ఫైల్ ను చూద్దాం. |
01:44 | మనం awk కమాండ్ తో ఈ awkdemo ఫైల్ ని ప్రాసెస్ చేసేటప్పుడు అది input ఫైల్ అవుతుంది. |
01:51 | అన్ని రెకార్డ్ లు ఒకదానితో ఒకటి ఒక newline character ద్వారా వేరుచేయబడ్డాయి అని గమనించండి. |
01:58 | newline అనేది record separator RS variable కొరకు డీఫాల్ట్ విలువ. అందువల్ల ఇంకేమీ చేయనవసరం లేదు. |
02:08 | అన్నిఫీల్డ్ లు pipe symbol ద్వారా వేరు చేయబడ్డాయని గమనించండి.
దాని గురించి మనం awk ఎలా తెలియజేయగలం? మనం చూద్దాం. |
02:18 | By d అప్రమేయంగా spaces లేదా tabs యొక్క ఏ సంఖ్య అయినా ఫీల్డ్లను వేరు చేస్తాయి. |
02:24 | మనం ఇంతకుముందు ట్యుటొరియల్ లో నేర్చుకున్నట్లు hyphen capital F ఎంపిక యొక్క సహాయంతో దీన్ని రీసెట్ చేయవచ్చు. |
02:33 | లేదంటే, మనం దీనిని BEGIN section లోని FS variable ను ఉపయోగించి రీసెట్ చేయవచ్చు. |
02:40 | దీనిని ఒక ఉదాహరణతో చేద్దాం. ఒకవేళ నేను 5000 రూపాయలకంటే ఎక్కువ ఉపకార వేతనం వచ్చే విద్యార్థుల పేర్లను తెలుసుకోవాలనుకుంటే, |
02:51 | CTRL, ALT మరియు T కీలను నొక్కి టర్మినల్ ను తెరవండి. |
02:57 | తరువాత, మీరు cd command ద్వారా డౌన్ లోడ్ చేసి సంగ్రహించిన Code Files ఉన్న ఫోల్డర్ కి వెళ్ళండి. |
03:04 | కమాండ్ ని ఇక్కడ చూపిన విధంగా టైప్ చేయండి. |
03:08 | ఇక్కడ BEGIN విభాగం లో మనం FS విలువని pipe symbol గా అస్సైన్ చేసాము. అదేవిధంగా మనం RS variable ని నవీకరించవచ్చు. |
03:19 | కమాండ్ అమలు పరచడానికి ఎంటర్ నొక్కండి. |
03:23 | 5000 రూపాయలకంటే ఎక్కువ ఉపకార వేతనం వచ్చే విద్యార్థుల పేర్లజాబితాను చూపిస్తుంది. |
03:30 | ఇక్కడ name field మరియు stipend field ఒక ఖాళీ space తో వేరుపరచబడ్డాయి. |
03:36 | ఇంకా, అన్ని రెకార్డ్ లు కూడా newline character తో వేరుపరచబడ్డాయి. |
03:42 | మనం output field separator గా colon ను మరియు డబల్ newline ను output record separator గా కావాలనుకుంటున్నాం అనుకుందాం. |
03:52 | దీన్ని మనం ఎలా చేయగలం? చూద్దాం. |
03:55 | టర్మినల్ లో ఇంతకు ముందు అమలుచేసిన కమాండ్ ను పొందడానికి అప్ యారో కీ ని నొక్కండి. |
04:01 | ఇక్కడ చూపినవిధంగా కమాండ్ ని నవీకరించి ఎంటర్ నొక్కండి. |
04:08 | మనకు కావలసిన ఫార్మ్యాట్ లో ఔట్ పుట్ వస్తుంది. |
04:12 | ఇప్పుడు, ఒకవేళ మన కొత్త ఇన్ పుట్ ఫైల్ అనేది sample.txt ఐతే. |
04:18 | గమనించండి ఇక్కడ field separator అనేది newline మరియు record separator అనేది double newline. |
04:27 | మనం రోల్ నంబర్ మరియు పేరు సమాచారం ని ఈ ఫైల్ నుండి ఎలా వెలికితీయవచ్చు. |
04:32 | అవును, మీరు అనుకున్నది సరైనదే. మనం FS మరియు RS రెండూ variables ని నవీకరించాల్సి ఉంటుంది. |
04:39 | ఈ ట్యుటోరియల్ ని పాజ్ చేసి ఈ అస్సైన్ మెంట్ చేయండి. |
04:43 | తర్వాత, వేరే built-in variables ను చూద్దాం. |
04:47 | క్యాపిటల్ NR అనేది awk వల్ల ప్రాసెస్ అయిన Number of Records ని ఇస్తుంది. |
04:53 | క్యాపిటల్ NF అనేది ప్రస్తుత రెకార్డ్ లోని Number of Fields ని ఇస్తుంది. |
04:59 | ఒక ఉదాహరణను మనం చూద్దాం. మనం ఈ ఫైల్ లోని అసంపూర్ణంగా ఉన్న లైన్ లను కనుగొనాలనుకుంటున్నాం అనుకుందాం. |
05:07 | ఇక్కడ, అసంపూర్ణంగా అంటే అది 6 కంటే తక్కువ సాధారణ ఫీల్డ్స్ తో ఉండడం. |
05:13 | టర్మినల్ కు మారండి. నేను Ctrl మరియు L కీలను ఉపయోగించి దీనిని ఖాళీ చేస్తాను. |
05:20 | ఇక్కడ చూపిన విధంగా కమాండ్ ను టైప్ చేయండి. |
05:24 | ఫీల్డ్ లు pipe గుర్తు ద్వారా వేరుచేయబడ్డాయి కాబట్టి BEGIN విభాగం లో FS విలువను pipe గుర్తుకు సెట్ చేయండి. |
05:33 | తర్వాత మనం NF not equal to 6 అని రాసాం. |
05:37 | ఇది ప్రస్తుత లైన్ లో ఫీల్డ్ ల యొక్క సంఖ్య 6 కి సమానం కాదా అని తనిఖీ చేస్తుంది. |
05:43 | ఒకవేళ అది సత్యం ఐతే అపుడు print section, రెకార్డ్ యొక్క లైన్ నంబర్ NR ను $0 చేత సూచించబడిన మొత్తం లైన్ తో పాటు ముద్రిస్తుంది.
ఎంటర్ నొక్కండి. |
05:55 | అవుట్పుట్లో, రికార్డ్ నంబర్ 16 అనేది అసంపూర్ణ రోకార్డ్. ఇది 6 కి బదులుగా 5 ఫీల్డ్లు మాత్రమే కలిగిఉంది అని మనం చూడవచ్చు. |
06:05 | మనం మరో ఉదాహరణ చూద్దాం.
ఎన్ని ఫీల్డ్లు ఉన్నప్పటికీ, ప్రతి విద్యార్థికి మొదటి మరియు చివరి ఫీల్డ్ ను మనం ఎలా ముద్రించవచ్చు? |
06:16 | ఇక్కడ కనిపిస్తున్న కమాండ్ ని టర్మినల్ లో టైప్ చెయండి. |
06:21 | ఇక్కడ మనం ఫస్ వేరియబుల్ ని సెట్ చేయడానికి బదులుగా హైఫన్ క్యాపిటల్ F ఎంపికను ఉపయోగించాము.
ఎంటర్ నొక్కండి. |
06:30 | ఫైల్లోని ప్రతి రికార్డ్ కొరకు మనం మొదటి మరియు చివరి ఫీల్డ్లు మాత్రమే పొందుతాం. |
06:36 | ఇప్పుడు ఇంకేమైనా ప్రయత్నిదాం. |
06:39 | విద్యార్థి రికార్డులు అనేవి demo1.txt, demo2.txt అనే రెండు ఫైళ్ళలో పంపిణీ చేయబడతాయి అనుకుందాం. |
06:48 | మనం ఈ రెండు ఫైళ్ళ నుండి మొదటి 3 లైన్ లను ముద్రించాలనుకుంటున్నాము. దీనిని మనం NR వేరియబుల్ ను ఉపయోగించి చేయవచ్చు. |
06:57 | ఇక్కడ రెండు ఫైళ్ళ యొక్క కంటెంట్లు ఉన్నాయి. |
07:02 | ఇప్పుడు ప్రతి ఫైల్ నుండి మొదటి 3 లైన్ లను ప్రదర్శించడానికి, కింది కమాండ్ ను టెర్మినల్లో టైప్ చేయండి. |
07:11 | ఎంటర్ నొక్కండి. |
07:13 | అవుట్పుట్ అనేది demo1.txt ఫైల్ యొక్క మొదటి 3 రికార్డులను మాత్రమే చూపిస్తుంది. |
07:20 | రెండవ ఫైల్ కోసం కూడా దీనినే మనం ఎలా ప్రింట్ చేయవచ్చు? |
07:24 | దీనికి పరిష్కారం NR కు బదులుగా FNR ను ఉపయోగించడం
FNR అంటె ప్రస్తుత ఫైల్ లోని current record number. |
07:34 | ఒక క్రొత్త రికార్డ్ చదివిన ప్రతిసారీ FNR పెరుగుతుంది. |
07:39 | క్రొత్త ఇన్పుట్ ఫైల్ ప్రారంభించిన ప్రతిసారీ ఇది సున్నాకు తిరిగి ప్రారంభించబడుతుంది. |
07:46 | కానీ NR అనేది awk ప్రొగ్రాం ఎక్సిక్యుశన్ ప్రారంభిచినప్పటి నుండి ప్రాసెస్ చేసిన ఇన్ పుట్ రెకార్డ్ ల యొక్క సంఖ్య. |
07:55 | ఇది క్రొత్త ఫైల్తో సున్నాకి రీసెట్ చేయబడదు. |
07:59 | టర్మినల్ కు మారండి.
up arrow కీని నొక్కి ముందు ఎక్సిక్యుట్ చెసిన కమాండ్ ని పొందండి. |
08:06 | మునుపటి కమాండ్ ను ఈ క్రింది విధంగా సవరించండి.
NR కి బదులు FNR అని టైప్ చేయండి. |
08:14 | Print section, లో NR, తరువాత FNR టైప్ చెసి ఎంటర్ నొక్కండి. |
08:21 | చుడండి, ఇప్పుడు సరైన ఔట్ పుట్ వచ్చింది.
FNR క్రొత్త ఫైల్తో సున్నాకి సెట్ చేయబడింది, కానీ NR పెరుగుతూనే ఉంటుంది. |
08:31 | ఇప్పుడు వేరే built-in variables ని చూద్దాం.
FILENAME వేరియబుల్, చదువుతున్న ఫైల్ యొక్క పేరుని ఇస్తుంది. |
08:40 | ARGC, కమాండ్ లైన్ వద్ద అందించిన ఆర్గ్యుమెంట్స్ సంఖ్యను సూచిస్తుంది. |
08:46 | ARGV, కమాండ్ లైన్ అర్గ్యుమెంట్ లను స్టొర్ చేసె అర్రె ని సూచిస్తుంది. |
08:52 | ENVIRON అనేది shell environment variables యొక్క array ను మరియు దాని సంబంధిత విలువలను సూచిస్తుంది. |
09:00 | awk లో array ని ఉపయోగిస్తున్నందున ARGV మరియు ENVIRON లు. వాటిని మనం తరువాత టుటోరియల్స్ లో చూద్దా౦. |
09:09 | ఇప్పుడు FILENAME వేరియబల్ ని చూద్దా౦.
ప్రాసెస్ చేయబడుతున్న ప్రస్తుత ఫైల్ పేరును మనం ఎలా ప్రింట్ చేయవచ్చు? |
09:18 | టెర్మినల్ కు మారి, చూపిన విధంగా కమాండ్ ను టైప్ చేయండి. |
09:23 | ఇక్కడ మనం space ని string concatenation operator గా ఉపయోగించాము.
కమాండ్ ను అమలుచేయడానికి ఎంటర్ నొక్కండి. |
09:32 | అవుట్పుట్, ఇన్పుట్ ఫైల్ పేరు ను చాలాసార్లు చూపిస్తుంది. |
09:37 | ఇది ఎందుకంటే, ఈ కమాండ్ awkdemo.txt ఫైల్లోని ప్రతి రో కు ఒకసారి ఫైల్ పేరును ప్రింట్ చేస్తుంది.
మనం దీన్ని ఒక్కసారి మాత్రమె ఎలా ముద్రిందాలి? |
09:48 | టర్మినల్ ని క్లియర్ చేయండి.
మునుపు ఎక్సిక్యుట్ చేసిన కమాండ్ ను పొందడానికి అప్ యారో కీని నొక్కండి. |
09:55 | ఇక్కడ చూపిన విధంగా మునుపటి కమాండ్ ను సవరించండి.
ఎంటర్ నొక్కండి. |
10:02 | ఇప్పుడు, మనము ఫైల్ పేరును ఒక్కసారి మాత్రమే పొందుతాము. |
10:06 | ఇక్కడ awk లో మరికొన్ని built-in variables ఉన్నాయి.
వాటి గురించి మరింత తెలుసుకోవడానికి దయచేసి ఇంటర్నెట్ను బ్రౌజ్ చేయండి. |
10:14 | మనం, పాస్ అయ్యి రూ 8000 కంటే ఎక్కువ స్టైఫండ్ ఉన్న విద్యార్థులను కనుగొనాలని అనుకుందాం. |
10:22 | comma ని output field separator గా ఉపయోగించండి.
ఇంకా the data is shown for filename మరియు ఫైల్ యొక్క పేరును footer section లో ప్రింట్ చేయండి. ఇది ఎలా చేయగలం? |
10:36 | టర్మినల్ లో ఇక్కడ చూపించినట్టు కమండ్ ని టైప్ చేసి ఎంటర్ నొక్కండి. |
10:43 | ఒక విద్యార్థి మాత్రమే పాస్ అయ్యి రూ. 8000 కన్నా ఎక్కువ స్టైఫండ్ పొందుతున్నట్లు మనం చూడవచ్చు.
మరియు రికార్డు సంఖ్య 2. |
10:53 | మనం కోరుకున్న విధంగా ఫైల్ పేరును కూడా footer లో చూడవచ్చు. |
10:58 | మనం awk ని చాలా చాలా క్లిష్టమైన పనుల కొరకు ఉపయోగించవచ్చు. |
11:03 | అలాంటప్పుడు, టెర్మినల్ పై ప్రతిసారీ కమాండ్స్ ను రాయడం మరింత కష్టమవుతుంది. |
11:09 | బదులుగా మనం awk ప్రోగ్రామ్ను ప్రత్యేక ఫైల్లో వ్రాయవచ్చు. |
11:14 | ఎగ్జిక్యూటబుల్ కావడానికి, ఆ ఫైల్కు dot awk ఎక్స్టెన్షన్ ఉండాలి. |
11:19 | అమలు చేస్తున్నప్పుడు, మనం ఈ awk ప్రోగ్రామ్ ఫైల్ పేరును awk కమాండ్ తో పేర్కొనవచ్చు. |
11:26 | అలా చేయడానికి, మనం hyphen small f ఎంపికను ఉపయోగించాలి.
ఒక ఉదాహరణ చూద్దా౦. |
11:35 | నెను ఇంతకుముందే ఒక awk ప్రోగ్రాం ని రాసి దానిని prog1 dot awk గా సేవ్ చేసి ఉంచాను. |
11:42 | ఈ ఫైల్ Code Files లింక్ లో అందుబాటులో ఉంది. |
11:46 | టర్మినల్ కి మారండి.
చివరిగా అమలు చేయబడిన కమాండ్ యొక్క సింగిల్ కోట్స్ లోపల మనం ఏమి వ్రాసాము చుడండి? |
11:55 | Prog1.awk ఫైల్ యొక్క కంటెంట్ సరిగ్గా అదే. |
12:00 | ఒకే ఒక్క తేడా ఏమిటంటే awk ఫైల్ లో మనం single quotes లోపల ఏమీ రాయలేదు. |
12:07 | దీనిని అమలు చేయడానికి, టర్మినల్ లో కింది కమాండ్ awk space hyphen small f space prog1.awk space awkdemo.txt ను టైప్ చేసి ఎంటర్ నొక్కండి. |
12:24 | మనకు ఇంతకుముందువచ్చినట్టుగానే ఔట్ పుట్ వచ్చింది. |
12:29 | కనుక, ఈ విధంగా మనం awk ప్రోగ్రామ్లను వ్రాసి, వాటిని చాలాసార్లు ఉపయోగించవచ్చు. |
12:35 | ఇంతటి తో ఈ ట్యుటోరియల్ చివరికి వచ్చాం. సారాంశం చూద్దాం |
12:40 | ఈ ట్యుటోరియల్ లో మనం - Built-in variables, awk script లను గురించి పలు ఉదాహరణలను ఉపయోగించి నేర్చుకున్నాం. |
12:48 | ఒక అస్సైన్మెంట్ -awkdemo.txt file లో 5వ లైన్ లోని చివరి ఫీల్డ్ ను ప్రింట్ చేయడానికి ఒక awk స్క్రిప్ట్ ను రాయండి. |
12:58 | సిస్టమ్ ఫైల్ /etc/passwd ను terminal పై తెరవండి. |
13:05 | అక్కడ ఉన్న అన్ని separators లను గుర్తించండి. |
13:09 | ఇప్పుడు 20వ లైన్ నుండి ఫైల్ ను ప్రాసెస్ చేయడానికి ఒక script ని రాయండి. |
13:15 | అది కూడా 6 కంటే ఎక్కువ ఫీల్డ్లను కలిగి ఉన్న లైన్ ల కొరకు మాత్రమే. |
13:20 | మీరు నిర్దిష్ట పంక్తిలో line number, మొత్తం లైన్ మరియు ఫీల్డ్ ల యొక్క కౌంట్ ను ప్రింట్ చేయాలి. |
13:28 | ఈ లింక్ వద్ద అందుబాటులో ఉన్న వీడియో స్పోకన్ ట్యుటోరియల్ ప్రాజెక్ట్ యొక్క సారాంశాన్ని ఇస్తుంది. దయచేసి దీనిని డౌన్ లోడ్ చేసి చూడండి. |
13:36 | స్పొకెన్ ట్యుటొరియల్ ప్రాజెక్ట్ వర్క్ శాప్ లను నిర్వహిస్తుంది.ఆన్లైన్ పరీక్షలో పాసైన వారికి సర్టిఫికేట్లను ఇస్తుంది. |
13:47 | దయచేసి మీ సమయంతో కూడిన సందేహాలను ఈ ఫోరమ్ లో పోస్ట్ చేయండి. |
13:51 | స్పొకన్ టుటోరియల్ ప్రాజెక్ట్ కి ఎన్ ఎం ఈ ఐ సి టి, ఎం హెచ్ అర్ డి, భారత ప్రభుత్వం నిధులను సమకూర్చుతుంది. ఈ లింక్ లో ఈ మిషన్ గురించి మరింత సమాచారం ఉంది. |
14:03 | ఈ ట్యుటొరియల్ ని తెలుగులోకి అనువదించినది కరణం స్రవంతి. నేను ఉదయ లక్ష్మి మీ వద్ద సెలవు తీసుకుంటున్నాను ధన్యవాదములు. |