ব্যাশে একটি ফাইল পড়ার এবং লেখার একাধিক উপায় রয়েছে। সবচেয়ে সহজ উপায় হল অপারেটর> এবং >> ব্যবহার করা।
- > অপারেটর বিদ্যমান ডেটা ওভাররাইট করবে
- >> অপারেটর ডেটা যুক্ত করবে
পুনireনির্দেশ অপারেটর ব্যবহারের সাধারণ বিন্যাস হল:
ডেটা> ফাইলের নাম
ডেটা >> ফাইলের নাম
আসুন একটি উদাহরণ দিয়ে একটি ফাইল পদ্ধতিতে লেখাটি বুঝতে পারি:
কিভাবে পুনireনির্দেশ অপারেটর ব্যবহার করে একটি ফাইল লিখবেন
উপরে আলোচনা হিসাবে, একটি ফাইল লেখার সহজ এবং সহজবোধ্য পদ্ধতি পুনireনির্দেশ অপারেটর ব্যবহার করা হয়। উদাহরণস্বরূপ, যদি আপনি ইতিমধ্যে বিদ্যমান ফাইলের পাঠ্য পরিবর্তন করতে চান, তাহলে প্রথমে একটি নাম দিয়ে একটি পাঠ্য ফাইল তৈরি করুন testfile.txt এবং এতে কিছু লিখুন:
টেক্সট ফাইল সেভ করুন।
টার্মিনালে নিচের উল্লিখিত কমান্ডটি টাইপ করুন:
$ echo ফাইল> testfile.txt এ বিদ্যমান লেখা ওভাররাইটিং
ওভার রিং ঝুঁকিপূর্ণ হতে পারে; অতএব, noclobber সক্ষম করা ভাল অভ্যাস। Noclobber সেট করা যে কোন প্রস্থান ফাইলে ওভাররাইটিং ব্লক করবে।
$ সেট –o noclobber$ echo ফাইল> testfile.txt এ বিদ্যমান লেখা ওভাররাইটিং
কিন্তু যদি আপনি noclobber কে বাইপাস করতে চান তাহলে > | এর পরিবর্তে অপারেটর > :
$ echo ফাইলে বিদ্যমান পাঠ্য ওভাররাইটিং> | testfile.txtঅথবা আপনি কেবল noclobber নিষ্ক্রিয় করতে পারেন:
$ set + অথবা noclobber
কিন্তু এই কমান্ড সমস্ত ফাইল থেকে সুরক্ষা কেড়ে নেবে।
উপরের আউটপুটটি ইঙ্গিত করছে যে বিদ্যমান পাঠ্যটি ওভাররাইট করা হয়েছে। এখন, আসুন ব্যবহার করি >> অপারেটর:
$ echo বিদ্যমান টেক্সট ফাইল >> testfile.txt এ টেক্সট যোগ করা
বের করে দিল এটি ব্যবহার করার জন্য সর্বদা আদর্শ নয় কারণ আপনি এটি ব্যবহার করে পাঠ্য বিন্যাস করতে পারবেন না, তাই নিম্নোক্ত কমান্ডে প্রদর্শিত পাঠ্য বিন্যাস করতে প্রতিধ্বনির জায়গায় printf ব্যবহার করুন:
$ printf স্বাগতম n এটি একটি নতুন পাঠ্য ফাইল। > newtestfile.txt
আসুন একটি ব্যাশ স্ক্রিপ্ট উদাহরণ দিয়ে ধারণাটি বুঝতে পারি। টার্মিনালে vim লিখে Vim খুলুন। যদি আপনার ডিভাইসে ভিম এডিটর না থাকে, তাহলে এটি ব্যবহার করে ইনস্টল করুন:
$ sudo apt vim ইনস্টল করুনস্ক্রিপ্ট টাইপ করুন:
#! /বিন/ব্যাশecho আপনার নাম লিখুন
নাম পড়
echo $ name> data_dir.txt
echo আপনার বয়স লিখুন
বয়স পড়ুন
echo $ age >> data_dir.txt
cat data_dir.txt
দ্য বিড়াল কমান্ড ফাইল তৈরি এবং সম্পাদনা করতে ব্যবহৃত হয়। উপরোক্ত স্ক্রিপ্টটি ভীম -এ চেপে মোড পরিবর্তন করে সংরক্ষণ করুন প্রস্থান কী এবং তারপর টাইপ করুন : myscript.sh এ । টার্মিনাল খুলুন এবং কোডটি চালান:
হেরডক ব্যবহার করে কীভাবে একটি ফাইল লিখবেন
আপনি যদি একাধিক লাইন লিখতে চান, তাহলে সবচেয়ে সহজ পদ্ধতি হেরডক ব্যবহার করা। এখানে নথি, যা হেরডক নামেও পরিচিত, একটি বহুমুখী কোড ব্লক। হেরডোকের সিনট্যাক্স হল:
কমান্ড<<[-] Delimiter।
টেক্সট/কমান্ড
।
ডেলিমিটার
ডিলিমিটারের জায়গায় যে কোন স্ট্রিং ব্যবহার করা যেতে পারে, এবং - ফাইলের যে কোন ট্যাব স্পেস অপসারণ করতেও ব্যবহার করা যেতে পারে। আসুন এটি একটি সহজ উদাহরণ ব্যবহার করে বুঝতে পারি:
#! /বিন/ব্যাশবিড়াল<< TEXTFILE
এটি একটি টেক্সট ফাইল।
এই ফাইলটি হেরডক ব্যবহার করে তৈরি করা হয়েছে।
লেখার ফাইল
উপরের স্ক্রিপ্ট cat কমান্ড TEXTFILE নামে একটি টেক্সট ফাইল তৈরি করে, এবং সদ্য তৈরি করা ফাইলে টেক্সট লেখা। এখন এর নাম দিয়ে ফাইলটি সংরক্ষণ করুন myscript.sh । টার্মিনাল চালু করুন এবং স্ক্রিপ্টটি চালান।
টি কমান্ড ব্যবহার করে কীভাবে একটি ফাইল লিখবেন
ফাইল লেখার আরেকটি পদ্ধতি হল টি কমান্ড ব্যবহার করা। নাম নির্দেশ করে এই কমান্ড ইনপুট নেয় এবং একটি ফাইলে লিখে এবং একই সাথে আউটপুট দেখায়। ডিফল্টরূপে, টি কমান্ড বিদ্যমান ডেটা ওভাররাইট করবে।
$ echo এটি কিছু টেক্সট | tee textfile.txt
Appea ব্যবহার করতে সংযুক্ত করুন:
$ echo এটি আরেকটি লেখা | tee - একটি textfile.txt
একাধিক লাইন লিখতে, ব্যবহার করুন:
$ echo একাধিক ফাইলে পাঠ্য যোগ করা | tee textfile1.txt textfile2.txt textfile3.txt
উপরের কমান্ড তিনটি ফাইল তৈরি করবে যদি সেগুলি বিদ্যমান না থাকে এবং তাদের প্রত্যেককে পাঠ্য লিখবে।
উপসংহার
এই গাইড উদাহরণ সহ ব্যাশে একটি ফাইলে লিখতে একাধিক পদ্ধতির দিকে মনোনিবেশ করছে। ব্যাশ স্ক্রিপ্টিং -এ, একটি ফাইল লেখার একাধিক উপায় আছে, কিন্তু সবচেয়ে সহজ একটি হল রিডাইরেকশন অপারেটর>, >> ব্যবহার করা। একাধিক লাইন লেখার জন্য, হেরডক ব্যবহার করা যেতে পারে, এবং যদি আপনি একই ডাটা একাধিক লাইনে লিখতে চান, তাহলে টি কমান্ডটি বেশ সহজ।