বাশ রেঞ্জ: শেলের উপর তৈরি ক্রমগুলির উপর কীভাবে পুনরাবৃত্তি করবেন

Bash Range How Iterate Over Sequences Generated Shell



আপনি দুটি উপায়ে ব্যাশে সংখ্যার ক্রম পুনরাবৃত্তি করতে পারেন। একটি হল ব্যবহার করে seq কমান্ড এবং অন্যটি হল লুপের মধ্যে পরিসীমা নির্দিষ্ট করে। ভিতরে seq কমান্ড, ক্রম এক থেকে শুরু হয়, প্রতিটি ধাপে এক দ্বারা সংখ্যা বৃদ্ধি এবং ডিফল্টরূপে উপরের সীমা পর্যন্ত প্রতিটি লাইনে প্রতিটি সংখ্যা মুদ্রণ করুন। যদি সংখ্যাটি উপরের সীমা থেকে শুরু হয় তবে এটি প্রতিটি ধাপে একটি করে হ্রাস পায়। সাধারনত, সকল সংখ্যাকে ভাসমান বিন্দু হিসেবে ব্যাখ্যা করা হয় কিন্তু যদি ক্রমটি পূর্ণসংখ্যা থেকে শুরু হয় তাহলে দশমিক পূর্ণসংখ্যার তালিকা প্রিন্ট হবে। যদি seq কমান্ড সফলভাবে চালাতে পারে তাহলে এটি 0 রিটার্ন করে, অন্যথায় এটি কোন শূন্য সংখ্যা ফেরত দেয়। আপনি পরিসরের সাথে লুপ ব্যবহার করে সংখ্যার ক্রম পুনরাবৃত্তি করতে পারেন। দুটোই seq কমান্ড এবং লুপ ফর রেঞ্জ উদাহরণ সহ ব্যবহার করে এই টিউটোরিয়ালে দেখানো হয়েছে।

Seq কমান্ডের বিকল্পগুলি:

তুমি ব্যবহার করতে পার seq নিম্নলিখিত বিকল্পগুলি ব্যবহার করে কমান্ড করুন।







-ভিতরে

এই বিকল্পটি সমান প্রস্থ সহ সমস্ত সংখ্যা মুদ্রণ করার জন্য নেতৃস্থানীয় শূন্যের সাথে সংখ্যাগুলি প্যাড করতে ব্যবহৃত হয়।



-ফ ফরম্যাট

এই বিকল্পটি বিশেষ বিন্যাস সহ সংখ্যা মুদ্রণ করতে ব্যবহৃত হয়। ভাসমান সংখ্যাটি রূপান্তর অক্ষর হিসাবে %f, %g এবং %e ব্যবহার করে ফরম্যাট করা যায়। %g ডিফল্ট হিসাবে ব্যবহৃত হয়।



-এস স্ট্রিং

এই বিকল্পটি স্ট্রিং দিয়ে সংখ্যাগুলি পৃথক করতে ব্যবহৃত হয়। ডিফল্ট মান হল নতুন লাইন (' n')।





Seq কমান্ডের উদাহরণ:

আপনি তিনটি উপায়ে seq কমান্ড প্রয়োগ করতে পারেন। আপনি প্রতিটি ধাপের বৃদ্ধি বা হ্রাস মান সহ শুধুমাত্র উপরের সীমা বা উচ্চ এবং নিম্ন সীমা বা উচ্চ এবং নিম্ন সীমা ব্যবহার করতে পারেন। অপশন সহ seq কমান্ডের বিভিন্ন ব্যবহার নিম্নলিখিত উদাহরণে দেখানো হয়েছে।

উদাহরণ -1: বিকল্প ছাড়া seq কমান্ড

যখন শুধুমাত্র উপরের সীমা ব্যবহার করা হয় তখন সংখ্যাটি 1 থেকে শুরু হবে এবং প্রতিটি ধাপে এক দ্বারা বৃদ্ধি পাবে। নিম্নলিখিত কমান্ডটি 1 থেকে 4 পর্যন্ত সংখ্যাটি মুদ্রণ করবে।



$seq 4

আউটপুট:

যখন দুটি মান seq কমান্ড দিয়ে ব্যবহার করা হয় তখন প্রথম মানটি শুরু সংখ্যা হিসাবে এবং দ্বিতীয় মানটি শেষ সংখ্যা হিসাবে ব্যবহার করা হবে। নিম্নলিখিত কমান্ডটি 7 থেকে 15 পর্যন্ত সংখ্যাটি মুদ্রণ করবে।

$seq 7 পনের

আউটপুট:

যখন আপনি seq কমান্ডের সাথে তিনটি মান ব্যবহার করবেন তখন দ্বিতীয় ধাপটি প্রতিটি ধাপের জন্য বৃদ্ধি বা হ্রাস মান হিসাবে ব্যবহৃত হবে। নিম্নলিখিত কমান্ডের জন্য, শুরুর সংখ্যা 10, শেষ সংখ্যা 1 এবং প্রতিটি ধাপ 2 হ্রাস করে গণনা করা হবে।

$seq 10 -২

আউটপুট:

উদাহরণ -২: qw বিকল্প সহ seq

নিম্নলিখিত কমান্ডটি 1 থেকে 9 পর্যন্ত সংখ্যার জন্য শূন্য যোগ করে আউটপুট মুদ্রণ করবে।

$seq -ভিতরে0110

আউটপুট:

উদাহরণ-3: qs বিকল্প সহ seq

নিচের কমান্ডটি ব্যবহার করে - প্রতিটি ক্রম সংখ্যার জন্য বিভাজক হিসাবে। সংখ্যার ক্রম যোগ করে মুদ্রণ করবে - বিভাজক হিসাবে।

$seq -এস-8

আউটপুট:

উদাহরণ -4: -f বিকল্প সহ seq

নিম্নলিখিত কমান্ডটি 1 থেকে শুরু করে 10 তারিখের মান মুদ্রণ করবে।

$seq -ফ '%g/04/2018' 10

আউটপুট:

বাশ রেঞ্জ

%F ব্যবহার করে ভাসমান পয়েন্ট সংখ্যার ক্রম তৈরি করতে নিম্নলিখিত কমান্ডটি ব্যবহার করা হয়। এখানে, সংখ্যাটি 3 থেকে শুরু হবে এবং প্রতিটি ধাপে 0.8 দ্বারা বৃদ্ধি পাবে এবং শেষ সংখ্যাটি 6 এর চেয়ে কম বা সমান হবে।

$seq -ফ '%f' 3 0.8 6

আউটপুট:

উদাহরণ -5: একটি ফাইলে ক্রম লিখ

আপনি যদি কনসোলে মুদ্রণ ছাড়াই একটি ফাইলে সংখ্যার ক্রম সংরক্ষণ করতে চান তবে আপনি নিম্নলিখিত কমান্ডগুলি ব্যবহার করতে পারেন। প্রথম কমান্ড নাম্বার একটি ফাইলে নাম্বার প্রিন্ট করবে seq.txt । সংখ্যাটি 5 থেকে 20 পর্যন্ত উত্পন্ন হবে এবং প্রতিটি ধাপে 10 দ্বারা বৃদ্ধি পাবে। কন্টেন্ট দেখার জন্য দ্বিতীয় কমান্ড ব্যবহার করা হয় seq.txt ফাইল

$ seq 5 10 20 | বিড়াল> seq.txt
$ cat seq.txt

আউটপুট:

উদাহরণ-6: লুপের জন্য seq ব্যবহার করা

ধরুন, আপনি seq সহ লুপ ব্যবহার করে fn1 থেকে fn10 নামে ফাইল তৈরি করতে চান। Sq1.bash নামে একটি ফাইল তৈরি করুন এবং নিচের কোডটি যোগ করুন। লুপের জন্য seq কমান্ড ব্যবহার করে 10 বার পুনরাবৃত্তি হবে এবং fn1, fn2, fn3… ..fn10 ক্রমে 10 টি ফাইল তৈরি করবে।

#!/বিন/ব্যাশ
জন্যআমিভিতরে 'seq 10'
কর
স্পর্শfn।$ i
সম্পন্ন

আউটপুট:

ব্যাশ ফাইলের কোডটি চালানোর জন্য নিম্নলিখিত কমান্ডগুলি চালান এবং ফাইলগুলি তৈরি হয়েছে কিনা তা পরীক্ষা করুন।

$বাশবর্গ
$ls

পরিসরের সাথে লুপের উদাহরণ:

উদাহরণ-7: রেঞ্জ সহ লুপের জন্য

Seq কমান্ডের বিকল্প হল পরিসীমা। Seq এর মত সংখ্যার ক্রম উৎপন্ন করতে আপনি লুপের জন্য পরিসর ব্যবহার করতে পারেন। নামের একটি ব্যাশ ফাইলে নিম্নলিখিত কোডটি লিখুন বর্গ ২. ব্যাশ । লুপটি 5 বার পুনরাবৃত্তি করবে এবং প্রতিটি ধাপে প্রতিটি সংখ্যার বর্গমূল মুদ্রণ করবে।

#!/বিন/ব্যাশ
জন্যnভিতরে {..5}
কর
((ফলাফল= n*n))
বের করে দিল $ n বর্গক্ষেত্র=$ ফলাফল
সম্পন্ন

আউটপুট:

ফাইলের স্ক্রিপ্ট চালানোর জন্য কমান্ডটি চালান।

$বাশবর্গ ২. ব্যাশ

উদাহরণ-8: রেঞ্জ এবং ইনক্রিমেন্ট ভ্যালু সহ লুপের জন্য

ডিফল্টরূপে, সংখ্যাটি seq এর মত পরিসরে প্রতিটি ধাপে একটি করে বৃদ্ধি পায়। আপনি রেঞ্জের ইনক্রিমেন্ট মান পরিবর্তন করতে পারেন। নামের একটি ব্যাশ ফাইলে নিম্নলিখিত কোডটি লিখুন বর্গ । স্ক্রিপ্টের জন্য লুপ 5 বার পুনরাবৃত্তি করবে, প্রতিটি ধাপ 2 দ্বারা বৃদ্ধি পাবে এবং 1 থেকে 10 এর মধ্যে সমস্ত বিজোড় সংখ্যা মুদ্রণ করবে।

#!/বিন/ব্যাশ
বের করে দিল '1 থেকে 10 পর্যন্ত সমস্ত বিজোড় সংখ্যা'
জন্যআমিভিতরে {..10..2}
কর
বের করে দিল $ i;
সম্পন্ন

আউটপুট:

ফাইলের স্ক্রিপ্ট চালানোর জন্য কমান্ডটি চালান।

$বাশবর্গ

যদি আপনি সংখ্যার ক্রম নিয়ে কাজ করতে চান তাহলে এই টিউটোরিয়ালে দেখানো যে কোন অপশন ব্যবহার করতে পারেন। এই টিউটোরিয়ালটি শেষ করার পরে, আপনি আপনার ব্যাশ স্ক্রিপ্টে আরও দক্ষতার সাথে সীক কমান্ড এবং লুপ ব্যবহার করতে সক্ষম হবেন।