حلقة Bash خلال الملفات في الدليل

Bash Loop Through Files Directory



في Ubuntu ، بما في ذلك Bash ، جعلت الحلقات من الممكن تطبيق العمليات على ملفات متعددة. التكرار الحلقي هو أكثر الأشياء فاعلية لأنه يسمح للمستخدم بتطبيق نفس المنطق على العنصر بشكل متكرر باستخدام سطر كود صغير.

لفهم مفهوم تكرار الملفات في الدليل ، تحتاج إلى الوصول إلى تطبيقات وخدمات Ubuntu. عندما يكون لديك بعض الامتيازات ، يمكنك فقط العمل مع الملفات والأدلة.







يجب أن تكون قد قمت بتثبيت Bash على نظام التشغيل Ubuntu. في بعض عمليات التثبيت ، يتم تثبيته افتراضيًا في تحديث الحزم. إذا كان مثبتًا بالفعل ، فأنت بحاجة إلى ترقية الإصدار لأنه يجب أن يكون أعلى من 4. لمتابعة الدليل الحالي ، تحتاج إلى الاحتفاظ بالإصدار أعلاه 4. للتحقق من إصدار Bash المثبت مسبقًا في نظامك ، استخدم الأمر على محطة Ubuntu.



$سحق--إصدار



لذلك عليك أداء بعض الوظائف على الملفات والدلائل. يمكنك تنفيذ الأوامر الموضحة أدناه على أي دليل تختاره. ولكن لكي نكون دقيقين ، من الأفضل إنشاء دليل جديد بحيث يمكن الوصول بسهولة إلى جميع ممتلكاته مباشرة عند فتحه.





الخطوة الأولى هي إنشاء دليل. لقد أخذنا عينة من اسم الدليل abc. قم بإنشاء دليل عن طريق تنفيذ الأمر.

$مكديرabc



بعد إنشاء الدليل ، أنت الآن بحاجة إلى تنفيذ جميع الأوامر على ذلك. لذلك بعد إنشاء الدليل ، قم بالتبديل إلى هذا الدليل. استخدم الأمر المذكور أدناه:

$قرص مضغوطabc

بعد الانتقال إلى الدليل ، قم الآن بإنشاء بعض الملفات باستخدام الأمر touch.

$لمس. اتصال. صلةfile1.txt

يتم استخدام العديد من الطرق لإنشاء ملف في أوبونتو. إلى جانب أمر اللمس ، استخدمنا الأمر echo هنا لإنشاء ملف وإضافة المحتوى فيه بشكل جماعي في أمر واحد:

$رما - طرد - قذفLinux و ubuntu و Postgresql>file7.txt

يتم إنشاء هذا الملف على دليل بسيط يتم تشغيله حاليًا بشكل افتراضي. لذلك لا يتم إضافة اسم الدليل الذي تم إنشاؤه حديثًا مع موجه الأوامر. يمكنك أيضًا إنشاء ملفات باستخدام النطاق والتوسيع في أمر اللمس.

$لمس. اتصال. صلةملف-{1..8}.رسالة قصيرة

باستخدام هذا الأمر في ملفات جديدة من ملحقات .txt سيتم إنشاء باستخدام أمر واحد.

بعد ذلك ، يمكنك الآن المرور عبر الدليل الذي تم إنشاؤه حديثًا. اعرض أسماء الملفات. نظرًا لأنه يتعين علينا المرور عبر الملفات الموجودة في الدليل ، فنحن بحاجة إلى حلقة. الحلقات فعالة جدًا في الاستخدام لأنها تجلب البيانات في وقت أقل ، وتتطلب إدخالًا أقل. هنا سوف نستخدم حلقة for. باستخدام هذه الحلقة ، سيظهر كل اسم ملف في السطر التالي.

$ل ملف في *؛فعل رما - طرد - قذف ملف $؛انتهى

* يستخدم لجميع الملفات الموجودة في هذا الدليل. هذا يسمح لحلقة 'for' بتجميع كل الملفات. ولكن لجعل الإخراج دقيقًا ، يمكنك إضافة بعض المصطلحات بعلامة النجمة. على سبيل المثال ، يتم استخدام 'file- *' لجميع الملفات التي تبدأ من الملف. و * .txt لجلب الملفات التي لها امتدادات .txt. سنستخدم هذه الأمثلة بشكل أكبر في المقالة.

ستعمل هذه الحلقة بحيث تجلب جميع الملفات من الدليل ثم تعرض جميع الملفات من خلال أمر echo. تمثل علامة $ هنا اسم الملف. من النتيجة ، يمكنك أن ترى أن كل اسم ملف معروض.

بعد التحقق من الملفات التي تم إنشاؤها عن طريق عرض أسماء الملفات ، حان الوقت الآن لإدخال القيمة في الملفات لأن الملفات التي تم إنشاؤها فارغة. يمكن القيام بذلك يدويًا عن طريق فتح كل ملف في محرر النصوص ثم كتابة البيانات. الخيار الثاني هو إدخال البيانات في كل ملف من خلال الأمر في المحطة. لكنه يتطلب وقتًا لإدخال البيانات في كل ملف من خلال أمر واحد لكل ملف. ولكن يمكن القيام بذلك بسهولة وبشكل جماعي باستخدام حلقة for في أمر واحد.

$ل ملف في *؛فعل رما - طرد - قذف -2 ملف $ nLinux Ubuntu> ملف $؛انتهى

بعد تنفيذ الأمر ، تم إدخال القيمة في كل ملف أنشأناه. عند استخدامها مع echo ، ستحتفظ العلامة '-e' بالسطر الجديد في الملف. لمشاهدة البيانات التي تم إدخالها ، يمكنك الانتقال إلى دليل 'abc'. افتح الآن أي ملف نصي. الملف لم يعد فارغًا.

سيُظهر ملف $ اسم الملف أولاً في الملف ، وستتم معاينة البيانات التي أدخلتها في السطر الثاني لأنه n تُستخدم لتحويل الكلمات المستخدمة بعد ذلك إلى سطر آخر. يمكنك أيضًا التحقق من البيانات المدخلة من خلال الأمر.

$ل ملف في *؛فعل قط ملف $؛انتهى

يتم استخدام الأمر Cat لجلب البيانات الموجودة في جميع ملفات الدليل.

يمكن إجراء كل من إجراء إدخال البيانات وجلبها من خلال أمر واحد.

$ل ملف في *؛فعل رما - طرد - قذفملف $ n برمجة باش> ملف $؛قط ملف $؛انتهى

الخطوة الأولى هي كتابة البيانات في الملف ثم عرضها. عند تنفيذ الأمر ، سيكون الإخراج على النحو التالي:

يحتوي كل ملف على نفس القيمة. هذا بسبب حلقة 'for'.

نحن نعلم الحلقة الخاصة بجلب البيانات وإدخال القيم ، وما إلى ذلك ، ولكن تُستخدم الحلقة أيضًا لإنشاء نسخ احتياطية. هذه الملفات لها الامتداد .bak في النهاية. الآن قم بتنفيذ أمر النسخ الاحتياطي في shell لمشاهدة النسخة الاحتياطية لكل ملف.

$ل ملف في *؛فعل cp ملف $ ملف $.خلف؛انتهى؛

يتم استخدام الكلمة الأساسية cp لنسخ جميع الملفات احتياطيًا. الآن لرؤية الملفات التي يتم تطبيق هذا الأمر عليها. نستخدم الأمر على النحو التالي:

$ls- ال

الآن أصبح مرئيًا من الإخراج أن تفاصيل الملفات تظهر. التاريخ ، واسم الملف ، واسم المستخدم ، والوقت أيضًا الذي تم حذفه فيه. أيضا ، لديك نسخة دقيقة من كل ملف.

إذا كنا نريد ملفات jpeg فقط. سنستخدم هذا في الأمر

$ل ملف في *.jpegفعل رما - طرد - قذف ملف $؛انتهى

هذا سيجلب أسماء الصور فقط.

يمكن أن يؤدي الاكتشاف البسيط نفس الوظيفة أيضًا. سيقوم بجلب جميع الملفات بامتداد .sh.

$تجد. - اسم*ش

سنستخدم الكلمة الرئيسية الموجودة في حلقة for.

$ل ملف في *؛فعلتجد. ملف.*؛انتهى

سيؤدي ذلك إلى جلب جميع الملفات إلى الدليل الحالي. هذه لها امتدادات .bak ، .jpeg ، .txt. إلخ.

الآن ، إذا كنت تريد رؤية اسم جميع ملفات الدليل والبيانات الموجودة بداخلها ، فإن هذا يتم أيضًا بواسطة حلقة 'for'.

$ل ملف في *؛فعل ملف ملف $؛انتهى

استنتاج

لم يعد التنقل بين الملفات في أي دليل صعبًا بعد الآن ، كما نعلم ، باستخدام الحلقات في Bash والأداء على أنظمة تشغيل Linux. هذا البرنامج التعليمي عبارة عن دليل كامل لإنشاء عمليات على الدليل والوصول إليها وتنفيذها باستخدام حلقة 'for'.