Linux-AWK/C2/User-Defined-Functions-in-awk/Bengali
From Script | Spoken-Tutorial
| |
|
| 00:01 | awk এ User-defined function এর টিউটোরিয়ালে আপনাদের স্বাগত। |
| 00:07 | এখানে আমরা function definition এর সিনট্যাক্স সম্পর্কে শিখব।
Function call এবং Return statement |
| 00:17 | আমরা এটি কিছু উদাহরণ দিয়ে করব। |
| 00:21 | টিউটোরিয়ালটি রেকর্ড করতে ব্যবহার করছি উবুন্টু লিনাক্স 16.04 অপারেটিং সিস্টেম এবং gedit টেক্সট এডিটর 3.20.1. |
| 00:34 | আপনি পছন্দের যে কোনো টেক্সট এডিটর ব্যবহার করতে পারেন। |
| 00:38 | টিউটোরিয়ালটি অনুশীলন করতে ওয়েবসাইটে, আগের awk টিউটোরিয়ালগুলি দেখা উচিত। |
| 00:45 | আপনার C বা C++ এর মত কোনো প্রোগ্রামিং ভাষার মৌলিক জ্ঞান থাকতে হবে। |
| 00:52 | না হলে আমাদের ওয়েবসাইটে প্রাসঙ্গিক টিউটোরিয়ালটি দেখুন। |
| 00:58 | এই টিউটোরিয়ালে ব্যবহৃত ফাইল এই টিউটোরিয়াল পৃষ্ঠায় Code Files লিঙ্কে উপলব্ধ। তাদের ডাউনলোড করে এক্সট্র্যাক্ট করুন। |
| 01:08 | এখন user defined function সম্পর্কে শিখি। ফাংশন সিনট্যাক্স হল নিম্নরূপ। |
| 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 শূন্য কি নয়। |
| 02:36 | হ্যাঁ হলে, এটি শব্দে Zero প্রিন্ট করবে। |
| 02:40 | না হলে, কোডের else অংশ কার্যকর করা হবে। |
| 02:46 | else অংশে, প্রথমে substring ফাংশন দ্বারা প্রতিটি অঙ্ক এক এক করে এক্সট্র্যাক্ট করব। |
| 02:54 | আমরা বিভিন্ন সূচকে একটি অ্যারের ভ্যালু সংরক্ষণ করব। |
| 03:00 | উদাহরণস্বরূপ, a[1] বাম দিকের প্রথম অঙ্ক বা হাজার স্থানের অঙ্ক দেবে। |
| 03:08 | যেহেতু আমাদের মাত্র চারটি অঙ্ক রয়েছে, আমি চারটি সূচক ব্যবহার করেছি। |
| 03:13 | এরপর, আমরা যাচাই করব যে এলিমেন্ট শূন্যের সমান নয় কিনা এবং তাদের সঠিক ক্রমে প্রিন্ট করা। |
| 03:21 | শেষে, আমরা আউটপুটে একটি নতুন লাইন ব্রেক দিতে backslash n প্রিন্ট করি। |
| 03:28 | তারপর awk স্ক্রিপ্টে, আমরা ডলার 2 প্রিন্ট করেছি, যা দ্বিতীয় ফীল্ড name. |
| 03:35 | তারপর dollar 6 প্যারামিটার সহ changeit ফাংশন কল করি যা হল স্টাইপেন্ড। ফাইলটি এক্সিকিউট করি। |
| 03:43 | টার্মিনালে যান। cd কমান্ড দ্বারা সেই ফোল্ডারে যান যেখানে আপনি ফাইল ডাউনলোড এবং অন্বেষণ করেছেন। |
| 03:53 | এখন নিম্ন কমান্ড লিখুন এবং এন্টার টিপুন। |
| 04:00 | আমরা আশানুরুপ আউটপুট পাই। |
| 04:03 | একটি user-defined ফাংশন একটি রিটার্ন স্টেটমেন্টে অন্তর্ভুক্ত করা যেতে পারে। |
| 04:08 | এই স্টেটমেন্ট awk প্রোগ্রামের কলিং অংশে নিয়ন্ত্রণ ফেরৎ দেয়। |
| 04:13 | এটি বাকি awk প্রোগ্রামে ব্যবহারের জন্য একটি ভ্যালু ফেরৎ দিতে ব্যবহার করা যেতে পারে। |
| 04:20 | এটি এরকম দেখায়: return স্পেস expression. এখানে expression অংশ হল ঐচ্ছিক। |
| 04:29 | এখন অ্যারের গড় রিটার্ন করতে একটি ফাংশন লিখি। |
| 04:34 | আমি average.awk ফাইলে কোড লিখেছি। এর বিষয়বস্তু দেখি। |
| 04:41 | আমরা এই উদ্দেশ্যে avg নামে একটি ফাংশন সংজ্ঞায়িত করেছি। |
| 04:46 | এতে পাঁচটি প্যারামিটার রয়েছে। arr সেই অ্যারে যার জন্য গড় গণনা করা হয়েছে। |
| 04:55 | i অ্যারে লুপ ভ্যারিয়েবল। |
| 04:58 | sum সকল অ্যারে এলিমেন্টের সমষ্টি। |
| 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 বিভাগে, 5 টি ভিন্ন সংখ্যার সাথে অ্যারে num সংজ্ঞায়িত করেছি। |
| 06:07 | প্রিন্ট স্টেটমেন্টে একটি আর্গুমেন্ট সহ avg () ফাংশন কল করি, যা হল অ্যারের নাম। |
| 06:14 | তাই আর্গুমেন্ট হিসাবে লোকাল ভ্যারিয়েবল পাস করতে হবে না। |
| 06:20 | টার্মিনালে ফিরে যান। টার্মিনাল মুছে দিন। |
| 06:26 | নিম্ন কমান্ড লিখুন- awk স্পেস হাইফেন f স্পেস average ডট awk. এন্টার টিপুন। |
| 06:37 | আমরা আউটপুট 3.6 পেয়েছি। আপনি ক্যালকুলেটর দ্বারা এটি যাচাই করতে পারেন। |
| 06:44 | এখন আরেকটি উদাহরণ দেখি। |
| 06:47 | আমি স্ট্রিং রিভার্স করতে একটি কোড লিখেছি এবং এটিকে reverse.awk নাম দিয়েছি। recursive ফাংশন স্ট্রিং রিভার্স করতে ব্যবহৃত হয়। |
| 06:57 | এখানে ভিডিওটি থামান এবং কন্ট্রোল ফ্লো বুঝতে কোডটি দেখুন। তারপর আউটপুট দেখতে এটি এক্সিকিউট করুন। |
| 07:07 | অনুশীলনী হিসাবে, awkdemo.txt ফাইলে Roll number ফীল্ড রিভার্স করতে rev ফাংশন ব্যবহার করুন। |
| 07:16 | উদাহরণস্বরূপ, Roll Number A001 হলে, আউটপুট 100A হবে। |
| 07:24 | কোডটি Code Files লিঙ্কে reverse_roll.awk হিসাবে দেওয়া হয়েছে। |
| 07:31 | এর সাথেই আমরা টিউটোরিয়ালের শেষে এসেছি। সংক্ষিপ্তকরণ করি। |
| 07:36 | এখানে আমরা শিখেছি - function definition এর সিনট্যাক্স। |
| 07:41 | Function call এবং Return statement. |
| 07:45 | অনুশীলনী 1 হিসাবে. 2D matrix এর ট্রান্সপোজ বানাতে একটি ফাংশন লিখুন। |
| 07:52 | অ্যারে থেকে ন্যূনতম ভ্যালু এলিমেন্ট ফেরৎ দিতে একটি ফাংশন লিখুন। |
| 07:58 | নিম্ন লিঙ্কে উপলব্ধ ভিডিওটি প্রকল্পকে সারসংক্ষেপ বোঝায়। এটি ডাউনলোড করে দেখুন। |
| 08:06 | স্পোকেন টিউটোরিয়াল প্রকল্প দল কর্মশালার আয়োজন করে। অনলাইন পরীক্ষা পাস করলে প্রশংসাপত্র দেয়। |
| 08:16 | আরো বিস্তারিত জানতে আমাদের লিখুন। |
| 08:20 | এই ফোরামে আপনার টাইমড ক্যোয়ারী পোস্ট করুন। এই সাইটে যান। |
| 08:24 | স্পোকেন টিউটোরিয়াল প্রকল্প ভারত সরকারের NMEICT, MHRD দ্বারা সমর্থিত। এই মিশনের আরো তথ্য এই লিঙ্কে প্রাপ্তিসাদ্ধ। |
| 08:36 | আই আই টী বোম্বে থেকে আমি বিদায় নিচ্ছি। আমাদের সাথে যোগাযোগের জন্য ধন্যবাদ। |