Difference between revisions of "Linux-AWK/C2/User-Defined-Functions-in-awk/Oriya"
PoojaMoolya (Talk | contribs) |
PoojaMoolya (Talk | contribs) |
||
Line 1: | Line 1: | ||
{| border=1 | {| border=1 | ||
| <center>'''Time'''</center> | | <center>'''Time'''</center> | ||
− | | <center>'''Narration'''/center> | + | | <center>'''Narration'''</center> |
|- | |- |
Latest revision as of 11:03, 22 July 2019
|
|
00:01 | ବନ୍ଧୁଗଣ, AWK ଥିବା "ୟୁଜର୍ ଡିଫାଇଣ୍ଡ ଫଙ୍କଶନ୍ସ" ଉପରେ ଏହି ସ୍ପୋକନ୍ ଟ୍ୟୁଟୋରିଆଲକୁ ସ୍ୱାଗତ |
00:07 | ଏହି ଟ୍ୟୁଟୋରିଆଲରେ ଆମେ ଶିଖିବା - "ଫଙ୍କଶନ୍ ଡେଫିନେଶନ୍"ର ସିଣ୍ଟାକ୍ସ
"ଫଙ୍କଶନ୍ କଲ୍” ଓ "ରିଟର୍ନ ଷ୍ଟେଟମେଣ୍ଟ” |
00:17 | ଏହାକୁ ଆମେ କେତେକ ଉଦାହରଣ ମାଧ୍ୟମରେ କରିବା |
00:21 | ଏହି ଟ୍ୟୁଟୋରିଆଲ୍ ରେକର୍ଡ କରିବାକୁ ମୁଁ Ubuntu Linux 16.04 OS ଏବଂ Gedit Text Editor 3.20.1 ବ୍ୟବହାର କରୁଛି |
00:34 | ହେଲେ, ଆପଣ ନିଜ ପସନ୍ଦର Text Editor ବ୍ୟବହାର କରିପାରିବେ |
00:38 | ଏହି ଟ୍ୟୁଟୋରିଆଲ୍ ଅଭ୍ୟାସ କରିବା ପାଇଁ ଆପଣ, ଏହି ୱେବ୍ ସାଇଟ୍ରେ ଥିବା ପୂର୍ବ AWK ଟ୍ୟୁଟୋରିଆଲଗୁଡ଼ିକ ବିଷୟରେ ଜାଣିଥିବା ଦରକାର |
00:45 | ଆପଣଙ୍କ ପାଖରେ C କିମ୍ୱା C++ ଭଳି ଯେକୌଣସି ପ୍ରୋଗ୍ରାମିଙ୍ଗ୍ ଲାଙ୍ଗୁଏଜ୍ର କିଛି ଜ୍ଞାନ ଥିବା ଉଚିତ |
00:52 | ଯଦି ନାହିଁ, ତେବେ ଆମ ୱେବ୍ ସାଇଟ୍ରେ ଥିବା ସମ୍ୱନ୍ଧିତ ଟ୍ୟୁଟୋରିଆଲଗୁଡ଼ିକୁ ଦେଖନ୍ତୁ |
00:58 | ଏହି ଟ୍ୟୁଟୋରିଆଲ୍ ପେଜ୍ରେ ଥିବା Code Files ଲିଙ୍କରେ ଏହି ଟ୍ୟୁଟୋରିଆଲରେ ବ୍ୟବହୃତ ଫାଇଲ୍ଗୁଡ଼ିକ ଉପଲବ୍ଧ ଅଛି.
ଦୟାକରି ସେଗୁଡ଼ିକୁ ଡାଉନଲୋଡ୍ କରି ଏକ୍ସଟ୍ରାକ୍ଟ କରନ୍ତୁ |
01:08 | ଏବେ ଚାଲନ୍ତୁ, "ୟୁଜର୍ ଡିଫାଇଣ୍ଡ ଫଙ୍କଶନ୍ସ” ବିଷୟରେ ଶିଖିବା.
"ଫଙ୍କଶନ୍” ସିଣ୍ଟାକ୍ସ ନିମ୍ନରେ ଦିଆଗଲା |
01:16 | ଏବଂ ସିଣ୍ଟାକ୍ସ ହେଉଛି ସ୍ୱ-ବ୍ୟାଖ୍ୟାତ୍ମକ |
01:20 | ଏଠାରେ "କୀ’ୱର୍ଡ ଫଙ୍କଶନ୍” ବାଧ୍ୟତାମୂଳକ ଅଟେ |
01:24 | ଗୋଟିଏ "ଫଙ୍କଶନ୍"କୁ କଲ୍ କରିବା ପାଇଁ, "ଫଙ୍କଶନ୍"ର ନାମ ଏବଂ ତା’ପରେ ପାରାନ୍ଥେସେସ୍ରେ "ଆର୍ଗୁମେଣ୍ଟସ୍" ଲେଖନ୍ତୁ |
01:31 | ଧ୍ୟାନ ଦିଅନ୍ତୁ: "ଫଙ୍କଶନ୍” ନାମ ଏବଂ "ଆର୍ଗୁମେଣ୍ଟ"ର "ଓପନ୍ ପାରାନ୍ଥେସେସ୍” ମଧ୍ୟରେ "ସ୍ପେସ୍"ର ଅନୁମତି ନାହିଁ |
01:39 | ଏବେ ଆମେ ଗୋଟିଏ ଉଦାହରଣ ଦେଖିବା |
01:42 | ଆମର awkdemo.txt ଫାଇଲ୍ରେ, ଷଷ୍ଠ "ଫିଲ୍ଡ” ଷ୍ଟାଇପେଣ୍ଡକୁ ପ୍ରତିନିଧିତ୍ୱ କରିଥାଏ |
01:47 | କଳ୍ପନା କରନ୍ତୁ ଯେ, "ଷ୍ଟାଇପେଣ୍ଡ"ରେ ଅବା ଜିରୋ ଅଛି କିମ୍ୱା ଚାରୋଟି "ଡିଜିଟ୍” ରହିଛି |
01:54 | ମନେକରନ୍ତୁ, ଷ୍ଟାଇପେଣ୍ଡ ହେଉଛି 8900.
ଏହାକୁ ଶବ୍ଦରେ 8 ହଜାର 9 ଶହ ଭାବରେ ପ୍ରିଣ୍ଟ କରନ୍ତୁ |
02:03 | ଯଦି ଷ୍ଟାଇପେଣ୍ଡ 0 ହୋଇଥାଏ, ତେବେ ଶବ୍ଦରେ "ଜିରୋ” ପ୍ରିଣ୍ଟ କରନ୍ତୁ |
02:08 | user_function.awk ନାମକ ଏକ ଫାଇଲ୍ରେ ମୁଁ ପୂର୍ବରୁ କୋଡ୍ ଲେଖିସାରିଛି. |
02:15 | ଏଠାରେ ମୁଁ, ଏକ ସିଙ୍ଗଲ୍ "ଆର୍ଗୁମେଣ୍ଟ argval” ସହ changeit ନାମକ ଏକ ଫଙ୍କଶନ୍ ଲେଖିଛି “ |
02:23 | ଏଠାରେ argval ହେଉଛି ମୂଳତଃ ଆମର ଷଷ୍ଠ "ଫିଲ୍ଡ", ଯାହା ହେଉଛି “ଷ୍ଟାଇପେଣ୍ଡ” |
02:29 | “ଫଙ୍କଶନ୍” ଭିତରେ, argval “Zero” କି ନୁହେଁ, ତାହା ପ୍ରଥମ କୋଡ୍ ଯାଞ୍ଚ କରିବ |
02:36 | ଯଦି ହଁ, ତେବେ ଏହା ଶବ୍ଦରେ “Zero” ପ୍ରିଣ୍ଟ କରିବ |
02:40 | ଯଦି ନୁହେଁ, ତେବେ କୋଡ୍ର ଏକ ଭାଗ else, ନିଷ୍ପାଦିତ ହେବ |
02:46 | else ଭାଗରେ, Substring ଫଙ୍କଶନ୍ ବ୍ୟବହାର କରି ଆମେ ପ୍ରତ୍ୟେକ ଡିଜିଟ୍କୁ ଗୋଟିଏ ପରେ ଗୋଟିଏ କରି ଏକ୍ସଟ୍ରାକ୍ଟ କରିବା |
02:54 | ଏବଂ ଭିନ୍ନ "ଇଣ୍ଡାଇସେସ୍"ଠାରେ "ଆରେ a"ରେ ଭାଲ୍ୟୁଗୁଡ଼ିକୁ ଷ୍ଟୋର୍ କରିବ |
03:00 | ଉଦାହରଣସ୍ୱରୂପ, a[1] ବାମପଟୁ ପ୍ରଥମ "ଡିଜିଟ୍” କିମ୍ୱା "ହଜାରର ସ୍ଥାନ ଡିଜିଟ୍” ଦେବ |
03:08 | ଆମ ପାଖରେ କେବଳ ଚାରୋଟି "ଡିଜିଟ୍ ଥିବାରୁ, ମୁଁ ଚାରୋଟି "ଇଣ୍ଡାଇସେସ୍” ବ୍ୟବହାର କରିଛି |
03:13 | ଏଥିରେ ଆମେ, "ଏଲେମେଣ୍ଟ” ଜିରୋ ସହିତ ସମାନ କି ନୁହେଁ, ଯାଞ୍ଚ କରିବା
ଏବଂ ସେଗୁଡ଼ିକୁ ସଠିକ୍ କ୍ରମରେ ପ୍ରିଣ୍ଟ କରିବା |
03:21 | ଶେଷରେ, ଆଉଟପୁଟ୍ରେ ଏକ ନୂଆ "ଲାଇନ୍ ବ୍ରେକ୍” ଦେବାପାଇଁ ଆମେ, "Backslash n” କ୍ୟାରେକ୍ଟର୍ ପ୍ରିଣ୍ଟ କରିବା |
03:28 | ତା’ପରେ, awk script ଭିତରେ, ଆମେ "ଡଲର୍ 2” ପ୍ରିଣ୍ଟ କରିଛେ, ଯାହା ହେଉଛି ଦ୍ୱିତୀୟ ଫିଲ୍ଡ, "ନେମ୍" |
03:35 | ପାରାମିଟର୍ "ଡଲର୍ 6", ଯାହା ହେଉଛି "ଷ୍ଟାଇପେଣ୍ଡ", ତାହା ସହିତ ଆମେ ଫଙ୍କଶନ୍ changeitକୁ କଲ୍ କରିବା.
ଫାଇଲ୍କୁ ନିଷ୍ପାଦନ କରନ୍ତୁ |
03:43 | ଟର୍ମିନଲ୍କୁ ଯାଆନ୍ତୁ.
cd କମାଣ୍ଡ ବ୍ୟବହାର କରି Code Files ଡାଉନଲୋଡ୍ ଓ ଏକ୍ସଟ୍ରାକ୍ଟ କରିଥିବା ଫୋଲ୍ଡର୍କୁ ଯାଆନ୍ତୁ |
03:53 | ଏବେ, ନିମ୍ନ କମାଣ୍ଡ ଟାଇପ୍ କରି Enter ଦାବନ୍ତୁ |
04:00 | ଆମେ, ଆଶାନୁରୂପ ଆଉଟପୁଟ୍ ପାଇବା |
04:03 | ଏକ "ୟୁଜର୍-ଡିଫାଇଣ୍ଡ ଫଙ୍କଶନ୍” ଗୋଟିଏ "ରିଟର୍ନ ଷ୍ଟେଟମେଣ୍ଟ” ମଧ୍ୟ ଅନ୍ତର୍ଭୁକ୍ତ କରିପାରେ “ |
04:08 | ଏହି "ଷ୍ଟେଟମେଣ୍ଟ", awk ପ୍ରୋଗ୍ରାମ୍ ର "କଲିଙ୍ଗ୍” ଭାଗକୁ "କଣ୍ଟ୍ରୋଲ୍” ରିଟର୍ନ କରିଥାଏ |
04:13 | ଏହାକୁ, ଅବଶିଷ୍ଟ awk ପ୍ରୋଗ୍ରାମ୍ ରେ ବ୍ୟବହାର କରିବା ପାଇଁ ଏକ ଭାଲ୍ୟୁ ରିଟର୍ନ କରିବା ପାଇଁ ମଧ୍ୟ ବ୍ୟବହାର କରାଯାଇପାରେ “ |
04:20 | ତାହା, ଏହିଭଳି ଦେଖାଯାଏ: return ସ୍ପେସ୍ expression
ଏଠାରେ, expression ଭାଗ ହେଉଛି ଇଚ୍ଛାଧୀନ |
04:29 | ଗୋଟିଏ "ଆରେ"ର "average” ରିଟର୍ନ କରିବା ପାଇଁ ଚାଲନ୍ତୁ ଏକ "ଫଙ୍କଶନ୍” ଲେଖିବା |
04:34 | average.awk ନାମକ ଏକ ଫାଇଲ୍ରେ ମୁଁ କୋଡ୍ ଲେଖିସାରିଛି.
ଚାଲନ୍ତୁ କଣ୍ଟେଣ୍ଟକୁ ଦେଖିବା |
04:41 | ଏହି ଉଦ୍ଦେଶ୍ୟ ପାଇଁ ଆମେ, avg ନାମକ ଏକ ଫଙ୍କଶନ୍କୁ ପରିଭାଷିତ କରିଛେ |
04:46 | ଏଥିରେ ପାଞ୍ଚୋଟି "ପାରାମିଟର୍” ଅଛି.
Arr ହେଉଛି array, ଯେଉଁଥିପାଇଁ average ଗଣନା କରାଯିବ |
04:55 | i ହେଉଛି array loop veriable |
04:58 | ସମସ୍ତ "ଆରେ ଏଲେମେଣ୍ଟ”ର "ଯୋଗ” ହେଉଛି sum |
05:03 | "ଆରେ"ରେ "ଏଲେମେଣ୍ଟସ୍"ର ସଂଖ୍ୟାକୁ n ସୂଚିତ କରିଥାଏ |
05:07 | ଫଙ୍କଶନ୍ avgରୁ ରିଟର୍ନ କରାଯିବାକୁ ଥିବା "ଭେରିଏବଲ୍"କୁ ret ପ୍ରତିନିଧିତ୍ୱ କରିଥାଏ.
ଗଣନା କରାଯାଇଥିବା averageକୁ ret ଷ୍ଟୋର୍ କରିବ |
05:17 | i ପୂର୍ବରୁ ଥିବା ଅତିରିକ୍ତ ସ୍ପେସ୍ ସୂଚିତ କରେ ଯେ, ଭେରିଏବଲ୍ i sum, n ଓ ret ହେଉଛି ଲୋକଲ୍ ଭେରିଏବଲ୍ସ “ |
05:27 | ବାସ୍ତବରେ, "ଲୋକଲ୍ ଭେରିଏବଲ୍ସ” କହିବାର ଉଦ୍ଦେଶ୍ୟ "ଆର୍ଗୁମେଣ୍ଟସ୍” ନୁହେଁ |
05:32 | "ଫଙ୍କଶନ୍ସ” ପରିଭାଷିତ କରିବା ସମୟରେ ଏହି ସମ୍ମେଳନକୁ ଆପଣ ପାଳନ କରିବା ଉଚିତ |
05:36 | For Loop ଭିତରେ ଆମେ, "ଆରେ ଏଲେମେଣ୍ଟସ୍"ର ସମୁଦାୟ ସଂଖ୍ୟା ଓ ଯୋଗକୁ ଗଣନା କରିଛେ |
05:43 | "ଏଲେମେଣ୍ଟସ୍"ର ସମୁଦାୟ ସଂଖ୍ୟା ସହିତ ଯୋଗକୁ ବିଭକ୍ତ କରି ଆମେ average ଗଣନା କରିଛେ
ଏବଂ ସେହି ଭାଲ୍ୟୁକୁ ଭେରିଏବଲ୍ retରେ ଷ୍ଟୋର୍ କରିଛେ |
05:54 | ଭେରିଏବଲ୍ retର ଭାଲ୍ୟୁକୁ ଏହି ଫଙ୍କଶନ୍ avg() ରିଟର୍ନ କରିଥାଏ |
06:01 | BEGIN Section ଭିତରେ ଆମେ, 5ଟି ଭିନ୍ନ ଭିନ୍ନ ସଂଖ୍ୟା ସହିତ "ଆରେ nums"କୁ ପରିଭାଷିତ କରିଛେ |
06:07 | “ପ୍ରିଣ୍ଟ ଷ୍ଟେଟମେଣ୍ଟ” ଭିତରେ ଆମେ, ୱନ୍ ଆର୍ଗୁମେଣ୍ଟ ସହିତ, ଯାହା ହେଉଛି "ଆରେନେମ୍", ଫଙ୍କଶନ୍ avg()କୁ କଲ୍ କରିଛେ |
06:14 | ତେଣୁ, ଆପଣଙ୍କୁ "ଆର୍ଗୁମେଣ୍ଟ” ଭାବରେ "ଲୋକଲ୍ ଭେରିଏବଲ୍ସ"କୁ ପାସ୍ କରିବାର ଆବଶ୍ୟକତା ନାହିଁ |
06:20 | ଟର୍ମିନଲ୍କୁ ଯାଆନ୍ତୁ. ଟର୍ମିନଲ୍ ଖାଲି କରିଦିଅନ୍ତୁ |
06:26 | ନିମ୍ନ କମାଣ୍ଡ ଟାଇପ୍ କରନ୍ତୁ - awk ସ୍ପେସ୍ ହାଇଫେନ୍ f ସ୍ପେସ୍ average ଡଟ୍ awk
Enter ଦାବନ୍ତୁ |
06:37 | ଆମେ, 3.6 ଭାବରେ ଆଉଟପୁଟ୍ ପାଇଲେ.
ଗୋଟିଏ କାଲକୁଲେଟର୍ ବ୍ୟବହାର କରି ଆପଣ ଏହାକୁ ଭେଲିଡେଟ୍ କରିପାରିବେ |
06:44 | ଚାଲନ୍ତୁ ଆଉ ଗୋଟିଏ ଉଦାହରଣ ଦେଖିବା. |
06:47 | ଗୋଟିଏ "ଷ୍ଟ୍ରିଙ୍ଗ୍"କୁ "ରିଭର୍ସ” କରିବା ପାଇଁ ମୁଁ ଗୋଟିଏ କୋଡ୍ ଲେଖିଛି ଏବଂ ତାହାକୁ reverse.awk ନାମ ଦେଇଛି.
ଗୋଟିଏ "ଷ୍ଟ୍ରିଙ୍ଗ୍"କୁ "ରିଭର୍ସ” କରିବା ପାଇଁ Recursive Function ବ୍ୟବହୃତ ହୋଇଥାଏ |
06:57 | କଣ୍ଟ୍ରୋଲ୍ କିପରି ପ୍ରବାହ ହେଉଛି ବୁଝିବା ପାଇଁ ଭିଡିଓକୁ ଏଠାରେ ପଜ୍ କରନ୍ତୁ ଏବଂ କୋଡ୍କୁ ଦେଖନ୍ତୁ.
ତା’ପରେ, ଆଉଟପୁଟ୍ ଦେଖିବା ପାଇଁ ଏହାକୁ ନିଷ୍ପାଦନ କରନ୍ତୁ |
07:07 | ଏକ ଆସାଇନମେଣ୍ଟ ଭାବେ, awkdemo.txt ଫାଇଲ୍ରେ ରୋଲ୍ ନମ୍ୱର୍ ଫିଲ୍ଡକୁ "ରିଭର୍ସ” କରିବା ପାଇଁ ଫଙ୍କଶନ୍ rev ବ୍ୟବହାର କରନ୍ତୁ |
07:16 | ଉଦାହରଣସ୍ୱରୂପ, ଯଦି ରୋଲ୍ ନମ୍ୱର୍ A001 ହୋଇଥାଏ, ତେବେ ଆଉଟପୁଟ୍ 100A ହେବା ଉଚିତ |
07:24 | କୋଡ୍ ଫାଇଲ୍ ଲିଙ୍କରେ ତାହା ପାଇଁ କୋଡ୍ reverse_roll.awk ଭାବରେ ପ୍ରଦାନ କରାଯାଇଛି |
07:31 | ଏଥିସହିତ ଆମେ ଏହି ଟ୍ୟୁଟୋରିଆଲର ସମାପ୍ତିକୁ ଆସିଲେ.
ସଂକ୍ଷିପ୍ତରେ - |
07:36 | ଏହି ଟ୍ୟୁଟୋରିଆଲରେ ଆମେ ଶିଖିଲେ - "ଫଙ୍କଶନ୍ ଡେଫିନେଶନ୍"ର ସିଣ୍ଟାକ୍ସ |
07:41 | "ଫଙ୍କଶନ୍ କଲ୍” ଓ "ରିଟର୍ନ ଷ୍ଟେଟମେଣ୍ଟ” |
07:45 | ଏକ ଆସାଇନମେଣ୍ଟ ଭାବେ - 1. ଗୋଟିଏ “2D ମେଟ୍ରିକ୍ସ"ର Transpose ତିଆରି କରିବାକୁ ଏକ ଫଙ୍କଶନ୍ ଲେଖନ୍ତୁ |
07:52 | ଗୋଟିଏ "ଆରେ"ରୁ ସର୍ବନିମ୍ନ ଭାଲ୍ୟୁ "ଏଲେମେଣ୍ଟ” ରିଟର୍ନ କରିବା ପାଇଁ ଏକ ଫଙ୍କଶନ୍ ଲେଖନ୍ତୁ |
07:58 | ନିମ୍ନ ଲିଙ୍କରେ ଉପଲବ୍ଧ ଭିଡିଓ ସ୍ପୋକନ୍ ଟ୍ୟୁଟୋରିଆଲ୍ ପ୍ରୋଜେକ୍ଟକୁ ସାରାଂଶିତ କରେ.
ଦୟାକରି ଏହାକୁ ଡାଉନଲୋଡ୍ କରି ଦେଖନ୍ତୁ |
08:06 | ସ୍ପୋକନ୍ ଟ୍ୟୁଟୋରିଆଲ୍ ପ୍ରୋଜେକ୍ଟ ଟିମ୍, ସ୍ପୋକନ୍ ଟ୍ୟୁଟୋରିଆଲ୍ସ ବ୍ୟବହାର କରି କର୍ମଶାଳାମାନ ଚଲାନ୍ତି
ଏବଂ ପ୍ରମାଣପତ୍ର ଦିଅନ୍ତି. |
08:16 | ଅଧିକ ବିବରଣୀ ପାଇଁ ଦୟାକରି ଆମକୁ ଲେଖନ୍ତୁ |
08:20 | ଦୟାକରି ଏହି ଫୋରମରେ ନିଜର ସମୟବଦ୍ଧ ପ୍ରଶ୍ନ ପୋଷ୍ଟ୍ କରନ୍ତୁ |
08:24 | ସ୍ପୋକନ୍ ଟ୍ୟୁଟୋରିଆଲ୍ ପ୍ରୋଜେକ୍ଟ, ଭାରତ ସରକାରଙ୍କ MHRDର NMEICT ଦ୍ୱାରା ଅନୁଦାନ ପ୍ରାପ୍ତ.
ଏହି ମିଶନ୍ ଉପରେ ଅଧିକ ବିବରଣୀ ନିମ୍ନ ଲିଙ୍କରେ ଉପଲବ୍ଧ |
08:36 | IIT Bombay ତରଫରୁ
ମୁଁ ପ୍ରଦୀପ ଚନ୍ଦ୍ର ମହାପାତ୍ର ଆପଣଙ୍କଠାରୁ ବିଦାୟ ନେଉଛି. ଆମ ସହିତ ଜଡ଼ିତ ହୋଇଥିବାରୁ, ଧନ୍ୟବାଦ |