Linux-AWK/C2/User-Defined-Functions-in-awk/Assamese
From Script | Spoken-Tutorial
|
|
00:01 | নমস্কাৰ আৰু awk ত ইউজাৰ-দিফাইন্দ ফাংচনৰ স্প’কেন টিউট’ৰিয়েলটোলৈ স্বাগতম |
00:07 | এই টিউট’ৰিয়েলটোত আমি ফাংচন দেফিনেচনৰ গাঠণি, ফাংচন কল আৰু ৰিতাৰ্ণ ষ্টেতমেন্তৰ বিষয়ে শিকিম |
00:17 | আমি ইয়াক কিছু উদাহৰণৰ দ্বাৰা কৰিম |
00:21 | এই টিউট’ৰিয়েলটো ৰেকৰ্দ কৰিবৰ বাবে, মই উবুন্তো লিনাক্স 16.04 অপাৰেতিং চিষ্টেম আৰু gedit টেকস্ত এদিতৰ 3.20.1 ব্যৱ্হাৰ কৰিছো |
00:34 | আপুনি নিজৰ পচন্দৰ যিকোনো টেকস্ত এদিতৰ ব্যৱ্হাৰ কৰিব পাৰে |
00:38 | এই টিউট’ৰিয়েলটো অভ্যাস কৰিবলৈ, আপুনি এই ওৱেবচাইতত আগৰ awk টিউট’ৰিয়েলচ চাব লাগিব |
00:45 | আপোনাৰ C বা C++ ৰ দৰে যিকোনো প্ৰোগ্ৰামিং লেংগুৱেজৰ কিছু জ্ঞান থাকিব লাগিব |
00:52 | যদি নাই, তেন্তে অনুগ্ৰহ কৰি আমাৰ ওৱেবচাইতত সংগত টিউট’ৰিয়েলচ চাওঁক |
00:58 | এই টিউট’ৰিয়েলত ব্যৱহৃত ফাইলসমূহ এই টিউট’ৰিয়েল পেজৰ ক’দ ফাইলচ লিংকত উপলদ্ধ । সিহঁতক দাউনল’দ আৰু এক্সট্ৰেক্ত কৰক |
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 | ইয়াত মই changeit নামৰ ফাংচন এটা লিখিছো এটা একক আৰগুমেন্ত argvalৰ সৈতে |
02:23 | ইয়াত argval হৈছে মূলত আমাৰ ষষ্ঠ ফিল্দ যি হৈছে ষ্টাইপেন্দ |
02:29 | ফাংচনৰ ভিতৰত, প্ৰথমে ক’দে চাব যে argval জিৰ’ হয় নে নহয় |
02:36 | যদি হয়, ই শব্দত “জিৰ’” প্ৰিন্ট কৰিব |
02:40 | যদি নহয়, তেন্তে ক’দৰ else অংশটো এক্সিকিউত হ’ব |
02:46 | else অংশটোত, প্ৰথমে আমি প্ৰতিটো দিজিত এটা এটাকৈ এক্সত্ৰেক্ত কৰিম চাবষ্ট্ৰিংগ ফাংচন ব্যৱ্হাৰ কৰি |
02:54 | আৰু আমি মানসমূহ এটা আৰে aত বেলেগ ইন্দাইচেচ জমা কৰিম |
03:00 | উদাহৰণস্বৰূপে, a[1] এ বাওঁহাতৰ ফালৰ পৰা প্ৰথম দিজিত দিব বা হাজাৰৰ ঠাইৰ দিজিত দিব |
03:08 | যিহেতু আমাৰ মাত্ৰ চাৰিটা দিজিত আছে, মই চাৰিটা ইন্দাইচেচ ব্যৱ্হাৰ কৰিছো |
03:13 | পাছত, আমি চাম উপাদানখিনি জিৰ’ৰ সমান নহয় নেকি আৰু সিহঁতক এটা সঠিক ক্ৰমত প্ৰিন্ট কৰিম |
03:21 | শেষত, আমি এটা বেকশ্লাচ n কেৰেক্তাৰ প্ৰিন্ট কৰো, আউতপুতত এটা নতুন লাইন ব্ৰেক দিবলৈ |
03:28 | তেতিয়া awk স্ক্ৰিপ্তৰ ভিতৰত, আমি ডলাৰ 2 প্ৰিন্ট কৰিলো, যি হৈছে দ্বিতীয় ফিল্দ অৰ্থাৎ নেম |
03:35 | পাছত আমি ফাংচন changeit ক কল কৰো পাৰামিটাৰ ডলাৰ 6 ৰ সৈতে, যি হৈছে ষ্টাইপেন্দ । আহক ফাইলটো এক্সিকিউত কৰো |
03:43 | টাৰ্মিনেললৈ যাওঁক । পাছত cd কমান্দ ব্যৱ্হাৰ কৰি ফ’ল্দাৰটোলৈ যাওঁক য’ত আপুনি ফাইলটো দাউনল’দ আৰু এক্সত্ৰেক্ত কৰিছিলে |
03:53 | এতিয়া নিম্ন কমান্দটো লিখক আৰু এন্টাৰ টিপক |
04:00 | আমি আশা কৰা দৰে আউতপুত পাওঁ |
04:03 | এটা ইউজাৰ-দিফাইন্দ ফাংচনে লগতে এটা ৰিতাৰ্ণ ষ্টেতমেন্ত সংলগ্ন কৰিব পাৰে |
04:08 | এই ষ্টেতমেন্তে awk প্ৰোগ্ৰামটোৰ কল কৰা অংশলৈ কনট্ৰ’ল ঘূৰাই দিয়ে |
04:13 | ইয়াক লগতে awk প্ৰোগ্ৰামটোৰ বাকী থকা অংশত ব্যৱ্হাৰ কৰিবলৈ মান এটা ঘূৰাই দিবলৈ ব্যৱ্হাৰ কৰিব পাৰি |
04:20 | ই দেখিবলৈ এনেকুৱা হয়: ৰিতাৰ্ণ স্পেচ এক্সপ্ৰেচন । ইয়াত এক্সপ্ৰেচন অংশটো অপচনেল হয় |
04:29 | আহক ফাংচন এটা লিখো আৰে এটাৰ এভৰেজ ঘূৰাই দিবলৈ |
04:34 | মই average.awk ফাইলত ক’দটো লিখিলো । আহক উপাদানবোৰ চাওঁ |
04:41 | আমি এই উদ্দেশ্যে avg নামৰ ফাংচন এটা সূচীত কৰিছো |
04:46 | ইয়াৰ পাচটা পাৰামিটাৰ আছে । arr হৈছে আৰে যাৰ বাবে এভৰেজ গণনা কৰা হ’ব |
04:55 | i হৈছে আৰে লোপ ভেৰিয়েবল |
04:58 | চাম হৈছে সকলো আৰে এলিমেন্তৰ যোগফল |
05:03 | n এ আৰেটোত থকা এলিমেন্তৰ সংখ্যাক সূচায় |
05:07 | ret এ avg ফাংচনৰ পৰা ঘূৰাব লগা ভেৰিয়েবলক দৰ্শাই । ret এ গণনা কৰা এভৰেজ জমা কৰিব |
05:17 | i ৰ আগৰ অতিৰিক্ৰ স্পেচে সূচাই যে ভেৰিয়েবলচ i, sum, n আৰু ret হৈছে ল’কেল ভেৰিয়েবলচ |
05:27 | প্ৰকৃততে, ল’কেল ভেৰিয়েবলচ আৰগুমেন্তচ নহয় |
05:32 | আপুনি ফাংচনচ সূচীত কৰোতে এই কনভেনচনক অনুসৰণ কৰিব লাগিব |
05:36 | ফৰ লোপৰ ভিতৰত, আমি আৰে এলিমেন্তৰ সৰ্বমুঠ সংখ্যা আৰু যোগফল গণনা কৰিছো |
05:43 | আমি এভৰেজ গণনা কৰিছো যোগফলক এলিমেন্তৰ সৰ্বমুঠ সংখ্যাৰে হৰণ কৰি আৰু সেই মান ভেৰিয়েবল ret ত জমা কৰিছো |
05:54 | এই ফাংচন avg() এ ভেৰিয়েবল ret ৰ মান ঘূৰাই দিয়ে |
06:01 | BEGIN চেকচনৰ ভিতৰত, আমি আৰে nums পাচটা ভিন্ন সংখ্যাৰ সৈতে সূচীত কৰিছো |
06:07 | প্ৰিন্ট ষ্টেতমেন্তত, আমি ফাংচন avg() ক এটা আৰগুমেন্তৰে কল কৰিছো, যি হৈছে আৰে নেম |
06:14 | গতিকে, আপুনি ল’কেল ভেৰিয়েবলচক আৰগুমেন্ত হিচাবে পাচ কৰিব নালাগে |
06:20 | টাৰ্মিনেললৈ ঘূৰি যাওঁক । মই টাৰ্মিনেল খালি কৰো |
06:26 | নিম্ন কমান্দটো লিখক- awk স্পেচ হাইফেন f স্পেচ এভৰেজ দত awk এন্টাৰ টিপক |
06:37 | আমি আউতপুত 3.6 হিচাবে পাইছো । আমি ইয়াক কেলকুলেতৰ এটা ব্যৱ্হাৰ কৰি প্ৰমাণ কৰিব পাৰো |
06:44 | আহক আৰু এটা উদাহৰণ চাওঁ |
06:47 | মই ক’দ এটা লিখিলো ষ্ট্ৰিংগ এটা ৰিভাৰ্চ কৰিবলৈ আৰু ইয়াক reverse.awk হিচাবে নাম দিলো । ৰিকাৰ্চিভ ফাংচন ব্যৱহৃত হয় ষ্ট্ৰিংগ এটা ৰিভাৰ্চ কৰিবলৈ |
06:57 | ভিদিঅ’টো ইয়াত ৰখাওঁক আৰু ক’দটো চাওঁক কনট্ৰ’লটো কেনেকৈ প্ৰবাহিত হৈছে বুজিবলৈ । তেতিয়া ইয়াক এক্সিকিউত কৰক আউতপুতটো চাবলৈ |
07:07 | এটা অনুশিলনী হিচাবে, ফাংচন rev ব্যৱ্হাৰ কৰক awkdemo.txt ফাইলত ৰোল নাম্বাৰ ফিল্দ ৰিভাৰ্চ কৰিবলৈ |
07:16 | উদাহৰণস্বৰূপে, যদি ৰোল নাম্বাৰ A001 হয়, আউতপুত 100A হ’ব লাগিব |
07:24 | ইয়াৰ বাবে ক’দক reverse_roll.awk হিচাবে ক’দ ফাইলচ লিংকত দিয়া হৈছে |
07:31 | ইয়াৰ সৈতে আমি এই টিউট’ৰিয়েলৰ শেষ পালোহি । আহক মূলভাব চাওঁ |
07:36 | এই টিউট’ৰিয়েলটোত আমি শিকিলো - ফাংচন দেফিনেচনৰ গাঠণি |
07:41 | ফাংচন কল আৰু ৰিতাৰ্ণ ষ্টেতমেন্তৰ বিষয়ে |
07:45 | এটা অনুশিলনী হিচাবে - 1. 2D মেত্ৰিক্স এটাৰ ট্ৰানস্প’জ এটা বনাবলৈ ফাংচন এটা লিখক |
07:52 | আৰে এটাৰ পৰা নিম্নতম মানৰ এলিমেন্ত এটা ৰিতাৰ্ণ কৰিবলৈ ফাংচন এটা লিখক |
07:58 | তলৰ লিংকৰ ভিদিঅটোৱে স্প’কেন টিউট’ৰিয়েল প্ৰকল্পৰ মূলভাব দৰ্শায় । অনুগ্ৰহ কৰি ইয়াক দাউনল’দ কৰি চাওঁক |
08:06 | স্প’কেন টিউট’ৰিয়েল প্ৰকল্পৰ দলে স্প’কেন টিউট’ৰিয়েল ব্যৱ্হাৰ কৰি কৰ্মশালা পাতে আৰু অনলাইন পৰীক্ষা পাচ কৰিলে প্ৰমাণ পত্ৰ দিয়ে |
08:16 | অধিক তথ্যৰ বাবে, অনুগ্ৰহ কৰি আমালৈ লিখক |
08:20 | সময়ৰ লগত আপোনাৰ প্ৰশ্ন এই ফ’ৰামত প’ষ্ট কৰক |
08:24 | স্প’কেন টিউট’ৰিয়েল প্ৰকল্প NMEICT, MHRD, ভাৰত চৰকাৰৰ দ্বাৰা সমৰ্থিত । এই মিচনৰ বিষয়ে অধিক তথ্য এই লিংকত উপলদ্ধ |
08:36 | স্ক্ৰিপ্তটো অন্তৰাই অৱদান দিছে । মই মৌচুম হাজৰিকা । সংযোগ কৰাৰ বাবে ধন্যবাদ |