Linux-AWK/C2/User-Defined-Functions-in-awk/Oriya
| |
|
| 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 ତରଫରୁ
ମୁଁ ପ୍ରଦୀପ ଚନ୍ଦ୍ର ମହାପାତ୍ର ଆପଣଙ୍କଠାରୁ ବିଦାୟ ନେଉଛି. ଆମ ସହିତ ଜଡ଼ିତ ହୋଇଥିବାରୁ, ଧନ୍ୟବାଦ |