خيارات الأمر seq:
يمكنك استخدام فيما يليها الأمر باستخدام الخيارات التالية.
-في
يُستخدم هذا الخيار لتعبئة الأرقام بالأصفار البادئة لطباعة جميع الأرقام بعرض متساوٍ.
-f شكل
يستخدم هذا الخيار لطباعة الرقم بتنسيق معين. يمكن تنسيق الرقم العائم باستخدام٪ f و٪ g و٪ e كأحرف تحويل. يتم استخدام٪ g كافتراضي.
سلسلة -s
يستخدم هذا الخيار لفصل الأرقام بالسلسلة. القيمة الافتراضية هي سطر جديد (' n').
أمثلة على الأمر seq:
يمكنك تطبيق الأمر seq بثلاث طرق. يمكنك فقط استخدام الحد الأعلى أو الحد الأعلى والأدنى أو الحد الأعلى والأدنى مع قيمة الزيادة أو التناقص لكل خطوة. الاستخدامات المختلفة للأمر seq مع الخيارات موضحة في الأمثلة التالية.
مثال 1: أمر seq بدون خيار
عند استخدام الحد الأعلى فقط ، سيبدأ الرقم من 1 ويزداد بمقدار واحد في كل خطوة. سيقوم الأمر التالي بطباعة الرقم من 1 إلى 4.
$فيما يليها 4
انتاج:
عند استخدام القيمتين مع الأمر seq ، سيتم استخدام القيمة الأولى كرقم بداية وسيتم استخدام القيمة الثانية كرقم نهاية. سيقوم الأمر التالي بطباعة الرقم من 7 إلى 15.
$فيما يليها 7 خمسة عشرانتاج:
عندما ستستخدم ثلاث قيم مع الأمر seq ، فسيتم استخدام القيمة الثانية كقيمة زيادة أو إنقاص لكل خطوة. بالنسبة للأمر التالي ، رقم البداية هو 10 ، ورقم النهاية هو 1 وسيتم حساب كل خطوة عن طريق إنقاص 2.
$فيما يليها 10 -2 1انتاج:
مثال 2: seq with –w option
سيطبع الأمر التالي الإخراج بإضافة صفر بادئ للرقم من 1 إلى 9.
$فيما يليها -في0110انتاج:
مثال 3: seq with –s option
يستخدم الأمر التالي - كفاصل لكل رقم تسلسلي. سيتم طباعة تسلسل الأرقام عن طريق إضافة - كفاصل.
$فيما يليها -س-8انتاج:
مثال 4: seq with -f option
سيقوم الأمر التالي بطباعة 10 قيم تاريخ تبدأ من 1. هنا ، يتم استخدام خيار٪ g لإضافة رقم تسلسل مع قيمة سلسلة أخرى.
$فيما يليها -F '٪ g / 04/2018' 10انتاج:
يتم استخدام الأمر التالي لإنشاء تسلسل رقم الفاصلة العائمة باستخدام٪ f. هنا ، سيبدأ الرقم من 3 ويزداد بمقدار 0.8 في كل خطوة وسيكون الرقم الأخير أقل من أو يساوي 6.
$فيما يليها -F '٪F' 3 0.8 6انتاج:
مثال 5: اكتب التسلسل في ملف
إذا كنت تريد حفظ تسلسل الأرقام في ملف دون الطباعة في وحدة التحكم ، فيمكنك استخدام الأوامر التالية. سيقوم الأمر الأول بطباعة الأرقام إلى ملف يسمى seq.txt . سيتم إنشاء الرقم من 5 إلى 20 وزيادة بمقدار 10 في كل خطوة. يتم استخدام الأمر الثاني لعرض محتوى seq.txt ملف.
$ seq 5 10 20 | قطة> seq.txt$ cat seq.txt
انتاج:
مثال 6: استخدام seq in for loop
لنفترض أنك تريد إنشاء ملفات تسمى fn1 إلى fn10 باستخدام حلقة for مع seq. قم بإنشاء ملف يسمى sq1.bash وقم بإضافة التعليمات البرمجية التالية. سوف تتكرر For loop لمدة 10 مرات باستخدام الأمر seq وإنشاء 10 ملفات بالتسلسل fn1، fn2، fn3… ..fn10.
#!/bin/bashلأنافي 'فيما يليها 10'
فعل
لمس. اتصال. صلةالجبهة الوطنية.أنا $
انتهى
انتاج:
قم بتشغيل الأوامر التالية لتنفيذ كود ملف bash وتحقق من إنشاء الملفات أم لا.
$سحقsq1.bash$ls
أمثلة على حلقة for مع النطاق:
مثال 7: حلقة For مع النطاق
البديل للأمر seq هو range. يمكنك استخدام range in for loop لتوليد تسلسل من الأرقام مثل seq. اكتب الكود التالي في ملف bash اسمه sq2.bash . ستتكرر الحلقة 5 مرات وستطبع الجذر التربيعي لكل رقم في كل خطوة.
#!/bin/bashلنفي {1..5}
فعل
((نتيجة= ن*ن))
رما - طرد - قذف $ ن مربع=نتيجة $
انتهى
انتاج:
قم بتشغيل الأمر لتنفيذ البرنامج النصي للملف.
$سحقsq2.bash
مثال 8: حلقة For ذات نطاق وقيمة زيادة
بشكل افتراضي ، يتم زيادة الرقم بمقدار واحد في كل خطوة في النطاق مثل seq. يمكنك أيضًا تغيير قيمة الزيادة في النطاق. اكتب الكود التالي في ملف bash اسمه sq3.bash . ستتكرر حلقة for في البرنامج النصي 5 مرات ، كل خطوة تزداد بمقدار 2 وتطبع كل الأرقام الفردية بين 1 إلى 10.
#!/bin/bashرما - طرد - قذف 'جميع الأعداد الفردية من 1 إلى 10'
لأنافي {1..10..2}
فعل
رما - طرد - قذف أنا $؛
انتهى
انتاج:
قم بتشغيل الأمر لتنفيذ البرنامج النصي للملف.
$سحقsq3.bash
إذا كنت ترغب في العمل مع تسلسل الأرقام ، فيمكنك استخدام أي من الخيارات الموضحة في هذا البرنامج التعليمي. بعد الانتهاء من هذا البرنامج التعليمي ، ستتمكن من استخدام الأمر seq و for loop مع النطاق بكفاءة أكبر في برنامج bash النصي.