Linux-AWK/C2/MultiDimensional-Array-in-awk/Bengali
From Script | Spoken-Tutorial
Revision as of 10:45, 30 January 2019 by Kaushik Datta (Talk | contribs)
|
|
00:01 | awk এ multidimensional arrays বানানোর টিউটোরিয়ালে আপনাদের স্বাগত। |
00:07 | এখানে আমরা awk এ multidimensional arrays বানানো এবং multidimensional arrays স্ক্যান করা শিখব। |
00:18 | আমরা এটি কিছু উদাহরণ দিয়ে করব। |
00:21 | টিউটোরিয়ালটি রেকর্ড করতে ব্যবহার করছি উবুন্টু লিনাক্স 16.04 অপারেটিং সিস্টেম এবং gedit টেক্সট এডিটর 3.20.1. |
00:33 | আপনি পছন্দের যে কোনো টেক্সট এডিটর ব্যবহার করতে পারেন। |
00:37 | টিউটোরিয়ালটি অনুশীলন করতে ওয়েবসাইটে, আগের awk টিউটোরিয়ালগুলি দেখা উচিত। |
00:45 | আপনার C বা C++ এর মত কোনো প্রোগ্রামিং ভাষার মৌলিক জ্ঞান থাকতে হবে। |
00:52 | না হলে আমাদের ওয়েবসাইটে প্রাসঙ্গিক টিউটোরিয়ালটি দেখুন। |
00:58 | এই টিউটোরিয়ালে ব্যবহৃত ফাইল এই টিউটোরিয়াল পৃষ্ঠায় Code Files লিঙ্কে উপলব্ধ। তাদের ডাউনলোড করে এক্সট্র্যাক্ট করুন। |
01:08 | awk এ multidimensional array কি? |
01:12 | আমরা জানি যে একক মাত্রিক অ্যারেতে, অ্যারে এলিমেন্ট একক ইনডেক্স দ্বারা চিহ্নিত হয়। |
01:19 | উদাহরণস্বরূপ, week অ্যারে একক ইনডেক্স day দ্বারা চিহ্নিত করা হয়। |
01:26 | যদিও, বহুমাত্রিক অ্যারেতে, একটি এলিমেন্ট একাধিক ইনডেক্সের ক্রম দ্বারা চিহ্নিত করা হয়। |
01:34 | উদাহরণস্বরূপ, দুই মাত্রিক অ্যারে এলিমেন্ট 2 ইনডেক্সের ক্রম অনুসারে সনাক্ত করা হয়। |
01:42 | এখানে, একাধিক সূচক মাঝে একটি সেপারেটর সহ একক স্ট্রিং এ সংযোজিত হয়। |
01:50 | সেপারেটর বিল্ট-ইন ভ্যারিয়েবল SUBSEP এর ভ্যালু। |
01:55 | জুড়িত স্ট্রিং একটি সাধারণ এক মাত্রিক অ্যারের জন্য একক সূচক হিসাবে ব্যবহৃত হয়। |
02:01 | উদাহরণস্বরূপ, ধরুন আমরা লিখি multi বর্গাকার বন্ধনীতে 4 কমা 6 ইকুয়াল টু ডাবল উদ্ধৃতিতে ভ্যালু। |
02:11 | এখানে multi হল মাল্টি-ডাইমেনশনাল অ্যারের নাম। তারপর, সংখ্যা 4 এবং 6 স্ট্রিং এ রূপান্তরিত হয়। |
02:21 | ধরুন, SUBSEP এর ভ্যালু হল হ্যাশ চিহ্ন (#)। |
02:26 | তারপর, সেই সংখ্যাগুলি তাদের মাঝে হ্যাশ চিহ্ন (#) সহ সংযোজিত হয়। |
02:32 | তাই অ্যারে এলিমেন্ট multi বর্গাকার বন্ধনীতে ডাবল উদ্ধৃতিতে 4 হ্যাশ 6 কে ডাবল উদ্ধৃতিতে value নির্ধারণ করা হয়। |
02:43 | SUBSEP এর ডিফল্ট ভ্যালু ডাবল উদ্ধৃতিতে ব্যাকস্ল্যাশ 034 এ স্ট্রিং। |
02:50 | এটি আসলে একটি প্রিন্ট ছাড়া অক্ষর। এটি সাধারণত অধিকাংশ ইনপুট তথ্যে দেখায় না। |
02:58 | স্লাইডে দেখানো একটি দ্বি মাত্রিক অ্যারে ঘোষণা করার চেষ্টা করি। |
03:03 | Row 1 এ দুটি এলিমেন্ট A এবং B রয়েছে। |
03:08 | Row 2 তে C এবং D এলিমেন্ট রয়েছে। |
03:12 | Ctrl, Alt এবং T কী একসাথে টিপে টার্মিনাল খুলুন। |
03:17 | সেই ফোল্ডারে যান যেখানে cd কমান্ড দ্বারা Code Files ডাউনলোড এবং এক্সট্র্যাক্ট করেছেন। |
03:24 | নিম্নরূপে অ্যারে সংজ্ঞায়িত করুন। এখানে দেখানো কমান্ডটি সাবধানে লিখুন। তারপর Enter টিপুন। |
03:35 | আমরা কোনো এরর ছাড়া কমান্ড প্রম্পট ফিরে পাই। সুতরাং, অ্যারে সংজ্ঞায়িত হয়েছে। |
03:41 | আমরা কোনো আউটপুট পাই না কারণ আমরা কোডে প্রিন্ট করতে কিছুই দেইনি। |
03:47 | প্রিন্ট স্টেটমেন্ট যোগ করি। |
03:50 | টার্মিনালে পূর্বে চালিত কমান্ড পেতে আপ অ্যারো কী টিপুন। |
03:56 | ক্লোজিং কোঁকড়া বন্ধনীর আগে লিখুন, semicolon স্পেস print স্পেস a বর্গাকার বন্ধনীতে 2 কমা 2. কমান্ডটি চালাতে Enter টিপুন। |
04:13 | লক্ষ্য করুন, আমরা আউটপুট হিসাবে বড়হাতের D পাই। |
04:18 | প্রদত্ত বহুমাত্রিক অ্যারেতে কোনো নির্দিষ্ট ইনডেক্সের ক্রম বিদ্যমান থাকলে কিভাবে যাচাই করি? |
04:25 | আমরা অপারেটর ব্যবহার করতে পারি। |
04:28 | আমরা ইতিমধ্যে আগে এই শৃঙ্খলায় একক মাত্রিক অ্যারেতে এটি দেখেছি। |
04:34 | আমাদের বন্ধনীতে ইনডেক্স এবং কমা দ্বারা পৃথক করা সমগ্র ক্রম লিখতে হবে। |
04:42 | এটির একটি উদাহরণে দেখি। |
04:45 | আমি ইতিমধ্যে test_multi.awk নামে স্ক্রিপ্ট লিখেছি। |
04:51 | একই ফাইল এই টিউটোরিয়াল পৃষ্ঠার Code Files লিঙ্কে উপলব্ধ। |
04:56 | আমরা আগের আলোচনারয় দেখানো একটি 2 বাই 2 অ্যারে সংজ্ঞায়িত করেছি। |
05:02 | তারপর আমি দুটি if কন্ডিশন লিখেছি। |
05:06 | প্রথম if কন্ডিশন যাচাই করে যে ইনডেক্স one comma one এর এলিমেন্ট রয়েছে কি নয়। |
05:13 | আমাদের বন্ধনীতে বহুমাত্রিক অ্যারের ইনডেক্স লিখতে হবে। |
05:18 | কন্ডিশন true হলে, এটি প্রিন্ট করবে one comma one is present. |
05:23 | অন্যথায় এটি প্রিন্ট করবে one comma one is absent. |
05:28 | একইভাবে, three comma one ইনডেক্সের এলিমেন্টের উপস্থিতি যাচাই করব। ফাইল এক্সিকিউট করি। |
05:36 | টার্মিনালে যান এবং লিখুন awk স্পেস হাইফেন ছোটহাতের f স্পেস test আন্ডারস্কোর multi ডট awk এবং Enter টিপুন। |
05:49 | আউটপুট বলে যে one comma one উপস্থিত এবং three comma one অনুপস্থিত। |
05:55 | আরেকটি উদাহরণ নেই। ধরুন আমরা একটি ম্যাট্রিক্স ট্রান্সপোজ বানাতে চাই। |
06:02 | প্রদত্ত ম্যাট্রিক্সের ট্রান্সপোজ ম্যাট্রিক্সের সারি এবং কলাম বদলে করা হয়। এটি আমরা কিভাবে করতে পারি? |
06:11 | আমি 2D-array.txt ফাইলে একটি দ্বি-মাত্রিক অ্যারে ম্যাট্রিক্স বানিয়েছি। |
06:19 | আমি transpose.awk নামে কোড লিখেছি। |
06:24 | প্রথমে এই awk স্ক্রিপ্টে action বিভাগ দেখি। |
06:29 | এখানে আমরা রোতে সর্বাধিক সংখ্যক ফীল্ড গণনা করছি এবং গণনাকৃত ভ্যালু max_nf ভ্যারিয়েবলে সংরক্ষণ করেছি। |
06:40 | যেমনকি আমরা জানি, NR হল awk এ প্রক্রিয়াকৃত বর্তমান রেকর্ডের সংখ্যা। NR এর ভ্যালু max_nr ভ্যারিয়েবলে সংরক্ষিত হয়। |
06:50 | Awk প্রথম রেকর্ড থেকে অন্তিম রেকর্ড পর্যন্ত ইনপুট ফাইল প্রসেস করবে। |
06:56 | Awk প্রথম রেকর্ড প্রসেস করলে, max_nr এর ভ্যালু 1 হবে। |
07:03 | দ্বিতীয় রেকর্ড প্রসেস করলে, max_nr এর ভ্যালু 2 হবে এবং এইভাবে এগোবে। |
07:11 | awk অন্তিম রেকর্ড প্রসেস করলে, max_nr রেকর্ডের মোট সংখ্যা সংরক্ষণ করবে। |
07:19 | এখন ইনপুট ফাইল থেকে তথ্য পড়তে হবে এবং ডেটা দ্বিমাত্রিক অ্যারেতে সংরক্ষণ করতে হবে। |
07:26 | for লুপে, আমাদের ভ্যারিয়েবল x ইটারেটর করেছি। |
07:31 | x, one থেকে NF পর্যন্ত ট্রান্সভার্স হবে এবং x প্রতিটি ইটারেশনের পর 1 দ্বারা বৃদ্ধি হবে। |
07:39 | x এর প্রতিটি ভ্যালুর জন্য, $x(dollar x) ফীল্ড x এর ভ্যালু প্রতিনিধিত্ব করে। |
07:46 | সেই ভ্যালু ইনডেক্স NR comma x এ অ্যারে ম্যাট্রিক্সে সংরক্ষণ করা হবে। |
07:53 | উদাহরণস্বরূপ, 1 কমা 1 এর ম্যাট্রিক্স ইনপুট ফাইল থেকে ভ্যালু সংরক্ষণ করে যা ইনডেক্স 1 কমা 1 এ বিদ্যমান। |
08:02 | তাই awk এই কোড দ্বারা সম্পূর্ণ ইনপুট ফাইল প্রসেস করার পরে, ম্যাট্রিক্স অ্যারে সম্পূর্ণরূপে গঠিত হবে। |
08:10 | এটি ইনপুট ফাইলের সম্পূর্ণ তথ্যকে দ্বিমাত্রিক অ্যারে ফরম্যাটে সংরক্ষণ করবে। |
08:16 | এখন, END বিভাগের ভিতরে দেখি। |
08:20 | আমরা ম্যাট্রিক্সের ট্রান্সপোজ প্রিন্ট করতে nested for loop লিখেছি। |
08:25 | আমি ধরে নিচ্ছি আপনি মৌলিক C প্রোগ্রামিং জানেন। তাই কোডের এই অংশ বিস্তারে ব্যাখ্যা করছি না। |
08:34 | বিস্তারে কোডটি দেখতে এবং নিজের থেকে বুঝতে এখানে ভিডিওটি থামান। |
08:40 | এখন, আমরা একটি বহুমাত্রিক অ্যারে স্ক্যান করা শিখব। |
08:45 | Awk এ কোনো বহুমাত্রিক অ্যারে নেই। |
08:50 | তাই বহুমাত্রিক অ্যারে স্ক্যান করতে কোনো বিশেষ for স্টেটমেন্ট থাকতে পারে না। |
08:56 | আপনার অ্যারে স্ক্যান করতে বহুমাত্রিক উপায় থাকতে পারে। |
09:00 | আপনি এর জন্য স্প্লিট ফাংশনের সাথে for স্টেটমেন্ট করতে পারেন। |
09:05 | এখন দেখি যে split ফাংশন কি। split ফাংশন একটি স্ট্রিং খণ্ডিত বা বিভক্ত করতে ব্যবহৃত হয়। |
09:14 | এবং বিভিন্ন টুকরো একটি অ্যারেতে রাখুন। |
09:18 | সিনট্যাক্স নিম্নরূপ। প্রথম আর্গুমেন্টে খণ্ডিত স্ট্রিং রয়েছে। |
09:25 | দ্বিতীয় আর্গুমেন্ট অ্যারের নাম নির্দিষ্ট করে যেখানে বিভক্ত জিনিস খণ্ডিত করা হবে। |
09:33 | তৃতীয় আর্গুমেন্ট সেপারেটর উল্লেখ করে যা স্ট্রিং খণ্ডিত করতে ব্যবহৃত হয়। |
09:39 | প্রথম টুকরো arr 1 এ সংরক্ষণ করা হয়। |
09:43 | দ্বিতীয় টুকরো arr 2 তে এবং এইভাবে। |
09:48 | ধরুন, আমরা ইতিমধ্যে নির্মিত অ্যারে থেকে ইনডেক্সের আসল ক্রম পেতে চাই। এটি আমরা কিভাবে করতে পারি? |
09:56 | আমি multi_scan.awk নামে একটি কোড লিখেছি। |
10:02 | সম্পূর্ণ কোড BEGIN বিভাগে লেখা হয়। |
10:06 | প্রথমে আমরা a নামে অ্যারে বানিয়েছি এবং এতে এই ভ্যালু নির্ধারিত করেছি। |
10:12 | তারপর ইটারেটার সহ for লুপ রয়েছে। |
10:16 | ইটারেটর প্রতিটি ইটারেশনের জন্য প্রতিটি ইনডেক্স ভ্যালুতে সেট করা হবে। যেমন 1,1 তারপর 1,2 এবং এইভাবে। |
10:27 | split ফাংশন ইটারেটরকে টুকরো করে যা SUBSEP দ্বারা পৃথক করা হয়। |
10:34 | টুকরো arr অ্যারেতে সংরক্ষণ করা হবে। |
10:38 | arr[1] এবং arr[2] যথাক্রমে প্রথম ইনডেক্স এবং দ্বিতীয় ইনডেক্স রাখে। এই ফাইলটি এক্সিকিউট করি। |
10:48 | টার্মিনালে যান এবং লিখুন - awk স্পেস হাইফেন ছোটহাতের f স্পেস multi আন্ডারস্কোর scan ডট awk এবং Enter টিপুন। |
11:01 | আউটপুট দেখুন; ইনডেক্সের মূল ক্রম পুনরুদ্ধার করা হয়েছে। |
11:07 | সংক্ষিপ্তকরণ করি। এখানে আমরা শিখেছি- awk এ multidimensional arrays বানানো এবং multidimensional arrays স্ক্যান করা। |
11:18 | অনুশীলনী হিসাবে, দ্বিমাত্রিক অ্যারেকে 90 ডিগ্রী ঘোরাতে একটি awk স্ক্রিপ্ট লিখুন এবং ঘূর্ণমান ম্যাট্রিক্স প্রিন্ট করুন। |
11:28 | নিম্ন লিঙ্কে উপলব্ধ ভিডিওটি প্রকল্পকে সারসংক্ষেপ বোঝায়। এটি ডাউনলোড করে দেখুন। |
11:36 | স্পোকেন টিউটোরিয়াল প্রকল্প দল কর্মশালার আয়োজন করে। অনলাইন পরীক্ষা পাস করলে প্রশংসাপত্র দেয়। |
11:45 | আরো বিস্তারিত জানতে আমাদের লিখুন। |
11:49 | এই ফোরামে আপনার টাইমড ক্যোয়ারী পোস্ট করুন। এই সাইটে যান। |
11:53 | স্পোকেন টিউটোরিয়াল প্রকল্প ভারত সরকারের NMEICT, MHRD দ্বারা সমর্থিত। এই মিশনের আরো তথ্য এই লিঙ্কে প্রাপ্তিসাদ্ধ। |
12:05 | আই আই টী বোম্বে থেকে আমি বিদায় নিচ্ছি। আমাদের সাথে যোগাযোগের জন্য ধন্যবাদ। |