Linux-AWK/C2/Built-in-Functions-in-awk/Bengali
From Script | Spoken-Tutorial
Revision as of 11:30, 30 January 2019 by Kaushik Datta (Talk | contribs)
|
|
00:01 | awk এ built-in functions এর টিউটোরিয়ালে আপনাদের স্বাগত। |
00:07 | এখানে আমরা বিভিন্ন ধরনের বিল্ট-ইন ফাংশন সম্পর্কে শিখব যেমন-
গাণিতিক ফাংশন, |
00:15 | স্ট্রিং ফাংশন, |
00:17 | ইনপুট / আউটপুট ফাংশন এবং টাইম স্ট্যাম্প ফাংশন। |
00:23 | আমরা এটি কিছু উদাহরণ দিয়ে করব। |
00:26 | টিউটোরিয়ালটি রেকর্ড করতে ব্যবহার করছি উবুন্টু লিনাক্স 16.04 অপারেটিং সিস্টেম এবং gedit টেক্সট এডিটর 3.20.1. |
00:38 | আপনি পছন্দের যে কোনো টেক্সট এডিটর ব্যবহার করতে পারেন। |
00:42 | টিউটোরিয়ালটি অনুশীলন করতে ওয়েবসাইটে, আগের awk টিউটোরিয়ালগুলি দেখা উচিত। |
00:49 | আপনার C বা C++ এর মত কোনো প্রোগ্রামিং ভাষার মৌলিক জ্ঞান থাকতে হবে। |
00:56 | না হলে আমাদের ওয়েবসাইটে প্রাসঙ্গিক টিউটোরিয়ালটি দেখুন। |
01:02 | এই টিউটোরিয়ালে ব্যবহৃত ফাইল এই টিউটোরিয়াল পৃষ্ঠায় Code Files লিঙ্কে উপলব্ধ। তাদের ডাউনলোড করে এক্সট্র্যাক্ট করুন। |
01:12 | Built-in functions সর্বদা awk কে কল করার জন্য উপলব্ধ। |
01:17 | প্রথমে আমরা গাণিতিক ফাংশন সম্পর্কে শিখব।
square root function (sqrt (x)), সংখ্যা x এর পজিটিভ বর্গমূল ফেরৎ দেয়। |
01:27 | int ফাংশন x কে পূর্ণসংখ্যা ভ্যালু ট্রাঙ্কেট করে। |
01:32 | exponential ফাংশন x এর সূচকীয় দেয়। |
01:37 | log ফাংশন x এর প্রাকৃতিক লগারিদম ভ্যালু দেয়। |
01:43 | sin এবং cos যথাক্রমে sine (x) এবং cosine(x) দেয়। |
01:49 | মনে রাখবেন যে x আর্গুমেন্ট radians এ উল্লিখিত। |
01:55 | এই ফাংশনটি বুঝতে একটি উদাহরণ দেখি। |
02:00 | আমি ইতিমধ্যে কোডটি arithmetic আন্ডারস্কোর function ডট awk ফাইলে লিখেছি।
একই কোড Code Files লিঙ্কে উপলব্ধ। |
02:10 | এখানে, আমরা যথাক্রমে একটি পজিটিভ এবং নেগেটিভ সংখ্যার বর্গমূল প্রিন্ট করছি। |
02:17 | এরপর যথাক্রমে পজিটিভ এবং নেগেটিভ সংখ্যার পূর্ণসংখ্যা ভ্যালু প্রিন্ট করছি। |
02:24 | তারপর একটি ছোট সংখ্যা এবং একটি বড় সংখ্যার সূচক প্রিন্ট করছি। |
02:31 | এরপর, পজিটিভ এবং নেগেটিভ সংখ্যার প্রাকৃতিক লগারিদম প্রিন্ট হয়। |
02:38 | আমরা 0.52 radian এর sine এবং cosine ভ্যালুও প্রিন্ট করছি, যা আসলে 30 ডিগ্রি। ফাইলটি টার্মিনালে এক্সিকিউট করি। |
02:50 | Ctrl, Alt এবং T কী একসাথে টিপে টার্মিনাল খুলুন। |
02:55 | এরপর সেই ফোল্ডারে যান যেখানে cd কমান্ড দ্বারা ফাইলটি ডাউনলোড করে এক্সট্র্যাক্ট করেছেন। |
03:03 | এখন লিখুন awk স্পেস -f স্পেস arithmetic_function.awk এবং আউটপুট দেখতে এন্টার টিপুন। |
03:14 | এই আউটপুট থেকে কয়েকটি জিনিস স্পষ্ট। |
03:18 | sqrt() ফাংশন একটি পজিটিভ সংখ্যার বর্গমূল দেয়। |
03:23 | সংখ্যাটি নেগেটিভ হলে এটি nan বা not a number দেখায়। |
03:29 | int () যে কোনো পজিটিভ বা নেগেটিভ সংখ্যার ভগ্ন পূর্ণসংখ্যা দেয়। |
03:36 | exp () একটি সংখ্যার সূচকীয় দেয়। সংখ্যাটি খুব বড় হলে, ফাংশন inf ফেরৎ দেবে। |
03:47 | পজিটিভ সংখ্যার প্রাকৃতিক লগারিদম log() ফাংশন দ্বারা দেওয়া হয়। |
03:53 | সংখ্যা নেগেটিভ হলে, ফাংশন nan দেয়। |
03:58 | Sine এবং cosine ফাংশন সংশ্লিষ্ট ভ্যালু ফেরৎ দেয়। আপনি ক্যালকুলেটর দ্বারা ভ্যালু যাচাই করতে পারেন। |
04:07 | এখন রেন্ডম ফাংশন দেখি। |
04:11 | rand (), 0 এবং 1 এর মাঝে যে কোনো রেন্ডম সংখ্যা দেয় তবে 0 বা 1 দেয় না। |
04:21 | জেনারেটেড সংখ্যা এক awk এক্সিকিউশনের মধ্যে রেন্ডম হবে। |
04:27 | কিন্তু awk প্রোগ্রামের বিভিন্ন এক্সিকিউশন জুড়ে পূর্বভাসিত। |
04:33 | srand(x) রেন্ডম ফাংশনের সীড ভ্যালু x প্রদান করতে ব্যবহৃত হয়। |
04:39 | x এর অনুপস্থিতিতে, দিনের date এবং time সীড ভ্যালু হিসাবে ব্যবহৃত হয়। এটি একটি উদাহরণ দিয়ে বুঝি। |
04:49 | আমি রেন্ডম ফাংশনের জন্য কোড লিখেছি এবং random.awk হিসাবে সংরক্ষিত করেছি। |
04:56 | এখানে, for লুপে, rand() ফাংশন 0 এবং 1 এর মাঝে রেন্ডম সংখ্যা বানাবে। |
05:04 | তারপর উত্পন্ন সংখ্যাটি 50 দ্বারা গুণিত হবে এবং প্রিন্ট হবে। |
05:10 | তাই এই কোডটি 50 এর মাঝে 5 টি রেন্ডম সংখ্যা বানাবে। |
05:16 | টার্মিনালে গিয়ে ফাইলটি এক্সিকিউট করি। টার্মিনাল মুছে ফেলুন। |
05:23 | লিখুন: awk স্পেস হাইফেন f স্পেস random ডট awk এবং এন্টার টিপুন। |
05:31 | দেখুন, এটি 5 টি রেন্ডম সংখ্যা দেয়। |
05:35 | আমি আবার কোডটি এক্সিকিউট করলে কি হবে? |
05:39 | পূর্বে এক্সিকিউট করা কমান্ড পেতে আপ অ্যারো কী টিপুন এবং এন্টার টিপুন। |
05:47 | আমরা একই আউটপুট পাচ্ছি। যার মানে স্ক্রিপ্টের প্রতিটি কার্যকরণের জন্য awk রেন্ডম সংখ্যার একই সেট বানাচ্ছে। |
05:57 | তাহলে কিভাবে প্রতিটি এক্সিকিউশনের মাঝে রেন্ডম সংখ্যার নতুন সেট পেতে পারি? আবার কোডে যান। |
06:06 | for লুপের আগে, লিখুন srand() function |
06:11 | ফাইল সংরক্ষণ করতে CRTL এবং S কী টিপুন। |
06:16 | এখন টার্মিনালে যান। |
06:19 | পূর্বের এক্সিকিউট করা কমান্ড পেতে আপ অ্যারো কী টিপুন এবং Enter টিপুন। |
06:27 | এটি রেন্ডম সংখ্যার ভিন্ন সেট প্রদান করে। |
06:31 | তাই এটি আর্গুমেন্ট ছাড়া ব্যবহারের সময় আমরা srand ফাংশন দ্বারা রেন্ডম সংখ্যার একটি নতুন সেট বানাতে পারি। |
06:40 | এরপর কিছু স্ট্রিং ফাংশন দেখবো। length ফাংশন একটি নির্দিষ্ট স্ট্রিং s এর দৈর্ঘ্য দেয়। |
06:49 | ইনডেক্স ফাংশন বড় স্ট্রিং s1 এর মাঝে স্ট্রিং s2 এর স্থান নির্ধারণ করে। |
06:57 | উদাহরণস্বরূপ, index বন্ধনীতে ডাবল উদ্ধৃতিতে linux কমা ডাবল উদ্ধৃতিতে quotes n, 3 ফেরৎ দেয়. একটি উদাহরণ দেখি। |
07:10 | awkdemo.txt ফাইল খুলুন। |
07:14 | আমরা জানি যে প্রতিটি শিক্ষার্থীর awkdemo.txt ফাইলে 4 সংখ্যার রোল নম্বর রয়েছে। |
07:21 | টাইপিং এররের কারণে, রোল নম্বরে ভুল সংখ্যা থাকতে পারে। আমরা awk কমান্ড দ্বারা সহজে এই সনাক্ত করতে পারি। |
07:30 | টার্মিনালে যান। টার্মিনাল মুছে ফেলুন। |
07:36 | এখন এখানে দেখানো কমান্ড লিখুন। এখানে আমরা যাচাই করছি যে প্রথম ফীল্ডের দৈর্ঘ্য 4 বা তার সমান কিনা। |
07:46 | না হলে সেই বিশেষ রেকর্ড প্রিন্ট হবে। এন্টার টিপুন। |
07:53 | দেখুন, সেখানে একটি রোল নম্বর S02 রয়েছে যা ভুলভাবে লেখা হয়েছে। |
08:00 | এতে তিনটি সংখ্যা রয়েছে, যখন অন্যতে চারটি সংখ্যা রয়েছে। |
08:07 | substr(s,a,b) ফাংশন একটি বড় স্ট্রিং s থেকে একটি সাব-স্ট্রিং এক্সট্র্যাক্ট করে। |
08:14 | আমি প্যারামিটার ব্যাখ্যা করি। |
08:17 | এখানে s হল স্ট্রিং। |
08:20 | a, s এ স্থান নির্দেশ করে যেখান থেকে এক্সট্রাকশন শুরু হবে। |
08:26 | b অক্ষরের সংখ্যা নির্দেশ করে যা এক্সট্র্যাক্ট করা হবে। একটি উদাহরণ দেখি। |
08:33 | awkdemo.txt ফাইলে যান। |
08:37 | রোল নম্বরের প্রথম অক্ষর Hostel কোড বোঝায় যেখানে নির্দিষ্ট শিক্ষার্থী বসবাস করে। |
08:46 | ধরুন আমরা সেই শিক্ষার্থীর তালিকা খুঁজতে চাই, যারা Hostel A তে রয়েছে। |
08:52 | এটি পেতে, টার্মিনালে যান। |
08:56 | এখানে দেখানো কমান্ড লিখুন। |
09:00 | এখানে আমরা $1 দ্বারা চিহ্নিত স্ট্রিং নিয়েছি। |
09:05 | আমরা জানি যে $1 প্রথম ফীল্ড বোঝায়, এটি আমাদের ক্ষেত্রে রোল নম্বর। |
09:12 | এরপর একটি সাব স্ট্রিং এক্সট্র্যাক্ট করি যা দৈর্ঘ্য one এর সাথে স্থান one এ শুরু হয়। |
09:19 | তারপর, এটি বড়হাতের A এর সমান হলে ফাইল থেকে সেই লাইন প্রিন্ট হবে। আউটপুট দেখতে এন্টার টিপুন। |
09:29 | আমরা Hostel A এ শিক্ষার্থীর তালিকা পেয়েছি। |
09:34 | আমরা split ফাংশন আগে দেখেছি। তাই, এখানে এটি বিস্তারে ব্যাখ্যা করছি না। |
09:40 | আপনার কোন সন্দেহ থাকলে পূর্ববর্তী awk টিউটোরিয়াল দেখুন। |
09:45 | সেখানে কিছু অন্যান্য ফাংশন রয়েছে যা Input/Output সম্পর্কিত। system() ফাংশন - awk এ যে কোনো unix কমান্ড চালাতে সাহায্য করে। |
09:56 | এখন, আমরা awk কমান্ড দ্বারা unk কমান্ড তারিখ রান করব। |
10:01 | টার্মিনালে এখানে দেখানো কমান্ড লিখুন এবং Enter টিপুন। |
10:09 | টার্মিনালে আউটপুট হিসাবে আজকের তারিখ এবং সময় দেখায়। |
10:15 | আমাদের এটি কেন প্রয়োজন? আমরা awk কমান্ডের শুধুমাত্র BEGIN বিভাগ রেখেছি। |
10:21 | প্রকৃত বিশ্ব পরিস্থিতিতে, প্রয়োজনীয় আউটপুট প্রদর্শনের আগে, সিস্টেমের তারিখ প্রিন্ট করতে চাই। |
10:28 | সেই ক্ষেত্রে, awk কমান্ড থেকে সিস্টেম কমান্ড এক্সিকিউট করতে হবে। |
10:34 | টাইম স্ট্যাম্প সহ কিছু ফাংশন রয়েছে যেমন systime(), strftime() ইত্যাদি |
10:43 | এই ফাংশন সম্পর্কে জানতে ইন্টারনেটে ব্রাউজ করুন। |
10:48 | এটি আমাদের টিউটোরিয়ালের শেষে নিয়ে আসে। সংক্ষিপ্তকরণ করি। |
10:53 | এখানে আমরা বিভিন্ন ধরনের বিল্ট-ইন ফাংশন সম্পর্কে শিখেছি: গাণিতিক ফাংশন, স্ট্রিং ফাংশন, ইনপুট / আউটপুট ফাংশন এবং টাইম স্ট্যাম্প ফাংশন। |
11:06 | অনুশীলনী হিসাবে - প্রতিটি রেকর্ডের অন্তিম ফীল্ড প্রিন্ট করতে একটি awk প্রোগ্রাম লিখুন। |
11:13 | যেখানে awkdemo.txt ফাইল ব্যবহার করে শিক্ষাথীর নামে তৃতীয় অক্ষরে ছোটহাতের s রয়েছে। |
11:22 | নিম্ন লিঙ্কে উপলব্ধ ভিডিওটি প্রকল্পকে সারসংক্ষেপ বোঝায়। এটি ডাউনলোড করে দেখুন। |
11:30 | স্পোকেন টিউটোরিয়াল প্রকল্প দল কর্মশালার আয়োজন করে। অনলাইন পরীক্ষা পাস করলে প্রশংসাপত্র দেয়। আরো বিস্তারিত জানতে আমাদের লিখুন। |
11:43 | এই ফোরামে আপনার টাইমড ক্যোয়ারী পোস্ট করুন। এই সাইটে যান। |
11:47 | স্পোকেন টিউটোরিয়াল প্রকল্প ভারত সরকারের NMEICT, MHRD দ্বারা সমর্থিত। এই মিশনের আরো তথ্য এই লিঙ্কে প্রাপ্তিসাদ্ধ। |
11:59 | আই আই টী বোম্বে থেকে আমি বিদায় নিচ্ছি। আমাদের সাথে যোগাযোগের জন্য ধন্যবাদ। |