المتطلبات الأساسية:
يجب عليك إنشاء ملف CSV قبل التدرب على مثال هذا البرنامج التعليمي. قم بإنشاء ملف CSV باسم 'customers.csv' بالمحتوى التالي للتحقق من إخراج البرنامج النصي المستخدم في هذا البرنامج التعليمي. في هذا الملف ، 3 بحث وتطوير حقول 4 ذ خط و 6 ذ السطر فارغ.
المعرف والاسم والبريد الإلكتروني والعنوان والجوال101 جعفر اقبال جعفر @ gmail.com ، 9 / A Dhanmondi دكا ، + 8801762341425
102 , Kamal Hossain, kamal @ gmail.com ، 120 ميربور دكا ، 8801988675345
103 نيروب شودري 33 / 2 جيغاتولا دكا ، 8801754532312
104 فرحين حسن @ gmail.com < أ href = 'فارغ' > و أ > 10 Kadhalbagun دكا ، + 8801512875634
105 , Md. Rahim,, 2 / B Dhanmondi دكا ، + 8801700453423
طرق مختلفة لقراءة ملف CSV في Bash
يمكن تحليل ملف CSV بطرق مختلفة باستخدام برنامج نصي Bash. يتم عرض طرق مختلفة لقراءة ملف 'customers.csv' في هذا الجزء من البرنامج التعليمي.
مثال 1: اقرأ المحتوى الأصلي لملف CSV
قم بإنشاء ملف Bash بالبرنامج النصي التالي الذي يقرأ المحتوى الكامل لملف 'customers.csv' باستخدام الحلقة 'while':
#! / بن / باش
# تعيين اسم الملف
اسم الملف = 'customers.csv'
# اقرأ كل سطر من الملف في كل تكرار
بينما يقرأ بيانات
يفعل
# طباعة الخط
صدى صوت بيانات دولار
منتهي < اسم الملف $
يظهر الناتج التالي بعد تنفيذ البرنامج النصي:
مثال 2: اقرأ ملف CSV عن طريق تكبير رأس الصفحة
يحتوي السطر الأول من ملف 'customers.csv' على عنوان الملف. قم بإنشاء ملف Bash بالبرنامج النصي التالي الذي يطبع محتوى ملف 'customers.csv' بعد كتابة السطر الأول من الملف بأحرف كبيرة. يتم استخدام الأمر 'awk' في البرنامج النصي لطباعة محتوى الملف بعد كتابة الرأس بالأحرف الكبيرة. يتم تعيين الفاصلة (،) في قيم FS و OFS في البرنامج النصي لقراءة ملف 'customers.csv' وكتابة ملف 'updatedcustomers.csv'. يتم استخدام الأمر 'cat' لطباعة محتوى كلا الملفين.
printf 'الملف الأصلي: \ن '# طباعة المحتوى الأصلي لملف CSV
قطة cstomers.csv
#Create ملف CSV جديد بعد كتابة العنوان بالأحرف الكبيرة
awk 'BEGIN {FS = '،'؛ OFS = '،'}
{
إذا (NR == 1)
طباعة العلبة (0 دولار)
آخر
مطبعة
} ' customers.csv > updatedcustomers.csv
printf ' \ن ملف معدل: \ن '
# طباعة ملف CSV الجديد
قطة updatedcustomers.csv
يظهر الناتج التالي بعد تنفيذ البرنامج النصي:
مثال 3: استبدل الحقل الفارغ لملف CSV بـ 'بلا'
قم بإنشاء ملف Bash بالبرنامج النصي التالي الذي يطبع محتوى ملف 'customers.csv' بعد تعديل الحقل الفارغ بقيمة 'None'. حقلان فارغان في هذا الملف مذكوران فيما يلي. يتم استخدام الأمر 'awk' في البرنامج النصي لطباعة محتوى الملف بعد تعديل الحقول الفارغة. يتم تعيين الفاصلة (،) في قيم FS و OFS في البرنامج النصي لقراءة ملف 'customers.csv' وكتابة ملف 'updatedcustomers.csv'. يتم استخدام الأمر 'cat' لطباعة محتوى كلا الملفين بتنسيق جدولي.
printf 'الملف الأصلي: \ن '# طباعة المحتوى الأصلي لملف CSV في شكل جدول
قطة customers.csv | الأعمدة ، -t
awk 'BEGIN {FS = '،'؛ OFS = '،'}
{
لـ (الحقل = 1 ؛ الحقل <= NF ؛ الحقل ++)
{
إذا ($ field == '') $ field = 'بلا'
}
مطبعة
} ' customers.csv > modedcustomers2.csv
printf ' \ن ملف معدل: \ن '
# اطبع ملف CSV الجديد في شكل جدول
قطة modedcustomers2.csv | الأعمدة ، -t
يظهر الناتج التالي بعد تنفيذ البرنامج النصي:
مثال 4: اطبع العدد الإجمالي للصفوف والأعمدة في ملف CSV
قم بإنشاء ملف Bash بالبرنامج النصي التالي الذي يحسب العدد الإجمالي للصفوف والأعمدة في ملف 'customers.csv'. يستخدم المتغير NR لطباعة العدد الإجمالي لصفوف الملف. يتم استخدام متغير NF لطباعة العدد الإجمالي لحقول الملف.
printf 'الملف الأصلي: \ن '# طباعة المحتوى الأصلي لملف CSV
قطة customers.csv
صدى صوت
صدى صوت -ن 'إجمالي الصفوف:'
awk -F، 'END {print NR}' customers.csv
صدى صوت -ن 'إجمالي الأعمدة:'
awk -F، 'END {print NF}' customers.csv
يظهر الإخراج التالي بعد تنفيذ البرنامج النصي. إجمالي الأسطر في الملف هو 6 ومجموع حقول الملف هي 5 والتي تمت طباعتها في الإخراج:
خاتمة
يتم عرض طرق قراءة ملف CSV وتعديل ملف CSV وإحصاء صفوف وأعمدة ملف CSV باستخدام برنامج Bash النصي في هذا البرنامج التعليمي.