قراءة الملفات ذات الحلقات
بينما يمكن حتى معالجة الإدخال القياسي. يتيح ذلك معالجة الملفات باستخدام حلقات while and until. في المثال التالي ، سنعرض محتويات ملف dis- tros.txt المستخدم في الفصول السابقة:
#! / بن / باش
# while-read: قراءة الأسطر من ملف أثناء قراءة إصدار إصدار التوزيعة ؛ فعل
printf "Distro:٪ s \ t الإصدار:٪ s \ t تاريخ الإصدار:٪ s \ n" \
توزيعة $ \
الإصدار $ \
تم تحرير $ <distros.txt
#! / بن / باش
# while-read: قراءة الأسطر من ملف أثناء قراءة إصدار إصدار التوزيعة ؛ فعل
printf "Distro:٪ s \ t الإصدار:٪ s \ t تاريخ الإصدار:٪ s \ n" \
توزيعة $ \
الإصدار $ \
تم تحرير $ <distros.txt
لإعادة توجيه ملف إلى الحلقة ، نضع عامل إعادة التوجيه بعد ملف فعل بيان. سوف تستخدم الحلقة اقرأ لإدخال الحقول من الملف المعاد توجيهه. ال اقرأ سيخرج الأمر بعد قراءة كل سطر ، مع حالة خروج صفرية حتى يتم الوصول إلى نهاية الملف. عند هذه النقطة ، سيتم الخروج بحالة خروج غير صفرية ، وبالتالي إنهاء الحلقة. من الممكن أيضًا إدخال إدخال قياسي في حلقة:
#! / بن / باش
# while-read2: قراءة سطور من ملف
فرز -k 1,1،2 -k XNUMXn distros.txt | أثناء قراءة إصدار نسخة التوزيعة ؛ قم بطباعة "Distro:٪ s \ t الإصدار:٪ s \ t تاريخ الإصدار:٪ s \ n" \
توزيعة $ \
الإصدار $ \
الافراج عن دولار
فعل
#! / بن / باش
# while-read2: قراءة سطور من ملف
فرز -k 1,1،2 -k XNUMXn distros.txt | أثناء قراءة إصدار نسخة التوزيعة ؛ قم بطباعة "Distro:٪ s \ t الإصدار:٪ s \ t تاريخ الإصدار:٪ s \ n" \
توزيعة $ \
الإصدار $ \
الافراج عن دولار
فعل
هنا نأخذ إخراج sort الأمر وعرض دفق النص. ومع ذلك ، من المهم أن نتذكر أنه نظرًا لأن الأنبوب سينفذ الحلقة في قشرة فرعية ، فسيتم فقد أي متغيرات تم إنشاؤها أو تخصيصها داخل الحلقة عند انتهاء الحلقة.