باش رینج: شیل پر پیدا ہونے والے تسلسل کو دوبارہ کیسے کریں۔

Bash Range How Iterate Over Sequences Generated Shell



آپ دو طریقوں سے باش میں نمبروں کی ترتیب کو دہرا سکتے ہیں۔ ایک استعمال کرکے ہے۔ سیک کمانڈ اور دوسرا لوپ میں رینج کی وضاحت کر کے ہے۔ میں سیک کمانڈ ، ترتیب ایک سے شروع ہوتی ہے ، ہر مرحلے میں ایک سے بڑھتی ہوئی تعداد اور ہر لائن میں ہر نمبر کو اوپر کی حد تک بطور ڈیفالٹ پرنٹ کریں۔ اگر نمبر اوپر کی حد سے شروع ہوتا ہے تو یہ ہر مرحلے میں ایک سے کم ہوتا ہے۔ عام طور پر ، تمام اعداد کو فلوٹنگ پوائنٹ سے تعبیر کیا جاتا ہے لیکن اگر تسلسل عدد سے شروع ہوتا ہے تو پھر اعشاریہ عدد کی فہرست پرنٹ ہوگی۔ اگر سیک کمانڈ کامیابی کے ساتھ چل سکتا ہے تو یہ 0 لوٹتا ہے ، بصورت دیگر یہ کوئی غیر صفر نمبر لوٹاتا ہے۔ آپ رینج کے ساتھ لوپ کے لیے استعمال کرتے ہوئے نمبروں کے تسلسل کو بھی دہرا سکتے ہیں۔ دونوں سیک کمانڈ اور رینج کے ساتھ لوپ اس ٹیوٹوریل میں مثالوں کا استعمال کرتے ہوئے دکھائے گئے ہیں۔

سیک کمانڈ کے اختیارات:

آپ استعمال کر سکتے ہیں سیک مندرجہ ذیل اختیارات کا استعمال کرتے ہوئے کمانڈ کریں۔







-میں

یہ آپشن استعمال کیا جاتا ہے کہ نمبروں کو صفوں کے ساتھ پیڈ کیا جائے تاکہ تمام نمبروں کو مساوی چوڑائی کے ساتھ پرنٹ کیا جا سکے۔



-فارمیٹ۔

یہ آپشن نمبر کو مخصوص فارمیٹ کے ساتھ پرنٹ کرنے کے لیے استعمال کیا جاتا ہے۔ فلوٹنگ نمبر کو٪ f ،٪ g اور٪ e کو تبادلوں کے حروف کے طور پر فارمیٹ کیا جاسکتا ہے۔ ٪ g بطور ڈیفالٹ استعمال ہوتا ہے۔



سٹرنگ

یہ آپشن نمبروں کو سٹرنگ سے الگ کرنے کے لیے استعمال ہوتا ہے۔ ڈیفالٹ ویلیو نیو لائن ('n') ہے۔





سیک کمانڈ کی مثالیں:

آپ تین طریقوں سے سیک کمانڈ کا اطلاق کرسکتے ہیں۔ آپ ہر قدم کی اضافہ یا کمی کی قیمت کے ساتھ صرف بالائی حد یا بالائی اور نچلی حد یا بالائی اور نچلی حد استعمال کرسکتے ہیں۔ اختیارات کے ساتھ سیک کمانڈ کے مختلف استعمال مندرجہ ذیل مثالوں میں دکھائے گئے ہیں۔

مثال 1: آپشن کے بغیر سیک کمانڈ۔

جب صرف اوپر کی حد استعمال کی جائے گی تو نمبر 1 سے شروع ہوگا اور ہر مرحلے میں ایک سے اضافہ ہوگا۔ درج ذیل کمانڈ نمبر 1 سے 4 پرنٹ کرے گی۔



$سیک

آؤٹ پٹ:

جب دو اقدار seq کمانڈ کے ساتھ استعمال کی جائیں گی تو پہلی قدر کو شروعاتی نمبر کے طور پر استعمال کیا جائے گا اور دوسری قدر کو اختتامی نمبر کے طور پر استعمال کیا جائے گا۔ درج ذیل کمانڈ نمبر کو 7 سے 15 تک پرنٹ کرے گی۔

$سیک پندرہ

آؤٹ پٹ:

جب آپ seq کمانڈ کے ساتھ تین اقدار استعمال کریں گے تو دوسری قدر ہر قدم کے لیے اضافہ یا کمی کی قیمت کے طور پر استعمال ہوگی۔ درج ذیل کمانڈ کے لیے ، شروع کا نمبر 10 ہے ، اختتامی نمبر 1 ہے اور ہر مرحلے کو 2 کم کرکے شمار کیا جائے گا۔

$سیک 10۔ -2۔

آؤٹ پٹ:

مثال 2: qw آپشن کے ساتھ سیک۔

درج ذیل کمانڈ 1 سے 9 تک کے نمبر کے لیے صف اول کا اضافہ کرکے آؤٹ پٹ پرنٹ کرے گی۔

$سیک -میں0110۔

آؤٹ پٹ:

مثال 3: qs آپشن کے ساتھ سیک۔

مندرجہ ذیل کمانڈ استعمال کرتا ہے - ہر ترتیب نمبر کے لیے بطور جداکار۔ نمبروں کی ترتیب بطور جداکار پرنٹ ہوگی۔

$سیک -

آؤٹ پٹ:

مثال 4: seq with -f آپشن۔

مندرجہ ذیل کمانڈ 1 سے شروع ہونے والی 10 تاریخ کی قیمتیں چھاپے گی۔

$سیک '٪ g/04/2018' 10۔

پیداوار:

باش رینج۔

درج ذیل کمانڈ کو٪ f کا استعمال کرتے ہوئے فلوٹنگ پوائنٹ نمبر کی ترتیب پیدا کرنے کے لیے استعمال کیا جاتا ہے۔ یہاں ، نمبر 3 سے شروع ہوگا اور ہر مرحلے میں 0.8 کا اضافہ ہوگا اور آخری نمبر 6 سے کم یا اس کے برابر ہوگا۔

$سیک '٪ f' 0.8۔

آؤٹ پٹ:

مثال 5: ایک فائل میں ترتیب لکھیں۔

اگر آپ کنسول میں پرنٹ کیے بغیر نمبر کی ترتیب کو فائل میں محفوظ کرنا چاہتے ہیں تو آپ درج ذیل کمانڈز استعمال کرسکتے ہیں۔ پہلی کمانڈ نمبروں کو نامی فائل میں پرنٹ کرے گی۔ seq.txt . تعداد 5 سے 20 تک اور ہر مرحلے میں 10 سے بڑھ جائے گی۔ دوسری کمانڈ کا مواد دیکھنے کے لیے استعمال کیا جاتا ہے۔ seq.txt فائل.

$ seq 5 10 20 | cat> seq.txt
$ cat seq.txt

آؤٹ پٹ:

مثال 6: لوپ کے لیے سیک ان کا استعمال۔

فرض کریں ، آپ سیکنڈ کے ساتھ لوپ کا استعمال کرتے ہوئے fn1 سے fn10 نامی فائلیں بنانا چاہتے ہیں۔ sq1.bash نامی فائل بنائیں اور درج ذیل کوڈ کو شامل کریں۔ لوپ کے لیے seq کمانڈ کا استعمال کرتے ہوئے 10 بار دہرایا جائے گا اور تسلسل fn1 ، fn2 ، fn3… ..fn10 میں 10 فائلیں بنائیں گی۔

#!/bin/bash
کے لیےمیںمیں 'سیک 10۔'
کیا
چھوناfn$ i
ہو گیا

آؤٹ پٹ:

bash فائل کے کوڈ پر عمل کرنے کے لیے درج ذیل کمانڈز چلائیں اور چیک کریں کہ فائلیں بنائی گئی ہیں یا نہیں۔

$لشکرsq1.bash
$ایل ایس

رینج کے ساتھ لوپ کی مثالیں:

مثال 7: رینج کے ساتھ لوپ کے لیے۔

سیک کمانڈ کا متبادل رینج ہے۔ آپ رینج فار لوپ کو سیکو جیسے نمبروں کی ترتیب پیدا کرنے کے لئے استعمال کرسکتے ہیں۔ نامی بش فائل میں درج ذیل کوڈ لکھیں۔ sq2.bash . لوپ 5 بار تکرار کرے گا اور ہر مرحلے میں ہر نمبر کا مربع جڑ پرنٹ کرے گا۔

#!/bin/bash
کے لیےnمیں {..}
کیا
((نتیجہ= n*n))
باہر پھینک دیا $ n مربع=$ نتیجہ۔
ہو گیا

آؤٹ پٹ:

فائل کے سکرپٹ کو چلانے کے لیے کمانڈ چلائیں۔

$لشکرsq2.bash

مثال 8: رینج اور انکریمنٹ ویلیو والے لوپ کے لیے۔

بطور ڈیفالٹ ، تعداد میں ہر مرحلے میں ایک کی طرح اضافہ ہوتا ہے جیسے سیک۔ آپ رینج میں انکریمنٹ ویلیو بھی تبدیل کر سکتے ہیں۔ نامی بش فائل میں درج ذیل کوڈ لکھیں۔ sq3.bash . سکرپٹ میں لوپ 5 بار تکرار کرے گا ، ہر مرحلے میں 2 کا اضافہ ہوتا ہے اور 1 سے 10 کے درمیان تمام عجیب نمبر پرنٹ ہوتے ہیں۔

#!/bin/bash
باہر پھینک دیا '1 سے 10 تک تمام عجیب نمبر ہیں'
کے لیےمیںمیں {..10۔..}
کیا
باہر پھینک دیا $ i؛
ہو گیا

آؤٹ پٹ:

فائل کے سکرپٹ کو چلانے کے لیے کمانڈ چلائیں۔

$لشکرsq3.bash

اگر آپ نمبروں کی ترتیب کے ساتھ کام کرنا چاہتے ہیں تو آپ اس ٹیوٹوریل میں دکھائے گئے کسی بھی آپشن کو استعمال کرسکتے ہیں۔ اس ٹیوٹوریل کو مکمل کرنے کے بعد ، آپ اپنے باش سکرپٹ میں سیکو کمانڈ اور رینج کے ساتھ لوپ کے لیے زیادہ موثر طریقے سے استعمال کر سکیں گے۔