البرمجة

استخراج تاريخ ملف بلغة الباش

لحل هذه المشكلة في البرمجة بلغة الباش (Bash script)، يمكنك استخدام أدوات السلسلة النصية المدمجة في Bash لتحليل اسم الملف واستخراج الجزء المطلوب. يمكن القيام بذلك باستخدام الأمر cut أو awk أو حتى bash نفسه.

لنقم بكتابة نص البرنامج في سكريبت باش:

bash
#!/bin/bash # تعريف اسم الملف filename="Master.csv.2016-07-06.txt" # استخراج الجزء المهم من اسم الملف substring=$(echo "$filename" | cut -d'.' -f3) # استخراج الجزء المطلوب YY-MM result=$(echo "$substring" | cut -d'-' -f1,2) # طباعة النتيجة echo "$result"

يتم استخدام الأمر cut لفصل النص بناءً على النقاط (.) واستخراج الجزء الثالث، الذي يحتوي على التاريخ، ثم يتم استخدام cut مرة أخرى لفصل التاريخ باستخدام الشرطة (-) كفاصل واستخراج الجزء المطلوب.

هذا السكريبت يمكن تشغيله باستخدام أمر bash في الطرفية، وسيعطيك النتيجة المطلوبة “YY-MM”.

يمكنك استخدام هذا السكريبت في بيئة Bash الخاصة بك، ويمكنك أيضًا تعديله ليأخذ اسم الملف كمتغير إذا كنت ترغب في استخدامه لملفات أخرى.

المزيد من المعلومات

بالطبع، هناك المزيد من المعلومات يمكن إضافتها لتوضيح العملية وتحسين السكريبت. دعني أقدم لك بعض النقاط التي يمكن إضافتها:

  1. التعامل مع متغير الملفات: يمكنك جعل السكريبت أكثر قابلية للاستخدام عن طريق جعل اسم الملف متغيرًا قابلًا للتغيير. يمكنك فعل ذلك عن طريق قبول مدخل المستخدم كمعامل أو استخدام متغير تعريفه مسبقًا.

  2. التحقق من وجود الملف: يمكن إضافة خطوة للتحقق مما إذا كان الملف المطلوب موجودًا أم لا قبل محاولة استخراج البيانات منه.

  3. التحقق من صيغة اسم الملف: يمكن إضافة تحقق إضافي للتأكد من أن اسم الملف يتبع الصيغة المتوقعة، مثل التأكد من وجود النقاط (.) والشرطات (-) في الأماكن المتوقعة.

  4. التعامل مع أخطاء التنفيذ: يمكن إضافة مزيد من الكود للتعامل مع الأخطاء المحتملة أثناء تنفيذ السكريبت، مثل عدم وجود الملف المطلوب أو عدم تطابق صيغة اسم الملف المتوقعة.

  5. إخراج النتيجة بشكل مرتب وواضح: يمكن تنسيق إخراج النتيجة بشكل أفضل، مثل طباعة “YY-MM” بدون أي نص إضافي.

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

تلك النقاط تساعد في جعل السكريبت أكثر قوة ومرونة وسهولة في الاستخدام وصيانته على المدى الطويل.

مقالات ذات صلة

زر الذهاب إلى الأعلى

المحتوى محمي من النسخ !!