דרישות קדם:
עליך ליצור קובץ CSV לפני שתתרגל את הדוגמה של מדריך זה. צור קובץ CSV בשם 'customers.csv' עם התוכן הבא כדי לבדוק את הפלט של הסקריפט שבו נעשה שימוש במדריך זה. בקובץ זה, ה-3 מחקר ופיתוח שדות של 4 ה' קו ו-6 ה' הקו ריקים.
מזהה, שם, דואר אלקטרוני, כתובת, נייד101 , ג'עפר איקבל, ג'עפר @ gmail.com, 9 / A Dhanmondi Dhaka, + 8801762341425
102 , כמאל חוסיין, כמאל @ gmail.com, 120 מירפור דאקה, 8801988675345
103 נירוב צ'ודהורי 33 / 2 ג'יגאטולה דאקה, 8801754532312
104 פרהין חסן @ gmail.com < א href = 'רֵיק' > , א > 10 קדהלבגון דאקה, + 8801512875634
105 , Md. רחים,, 2 / B Dhanmondi Dhaka, + 8801700453423
דרכים שונות לקרוא את קובץ ה-CSV ב-Bash
ניתן לנתח את קובץ ה-CSV בדרכים שונות באמצעות סקריפט Bash. דרכים שונות לקרוא את הקובץ 'customers.csv' מוצגות בחלק זה של המדריך.
דוגמה 1: קרא את התוכן המקורי של קובץ ה-CSV
צור קובץ Bash עם הסקריפט הבא שקורא את התוכן המלא של קובץ 'customers.csv' באמצעות לולאת 'while':
#!/bin/bash
#הגדר את שם הקובץ
שם קובץ = 'customers.csv'
#קרא כל שורה בקובץ בכל איטרציה
בזמן לקרוא נתונים
לַעֲשׂוֹת
#הדפס את השורה
הֵד $data
בוצע < $filename
הפלט הבא מופיע לאחר ביצוע הסקריפט:
דוגמה 2: קרא את קובץ ה-CSV על ידי שימוש באותיות רישיות בכותרת
השורה הראשונה של קובץ 'customers.csv' מכילה את כותרת הקובץ. צור קובץ Bash עם הסקריפט הבא שמדפיס את תוכן הקובץ 'customers.csv' לאחר שימוש באותיות רישיות בשורה הראשונה של הקובץ. הפקודה 'awk' משמשת בסקריפט כדי להדפיס את תוכן הקובץ לאחר שימוש באותיות רישיות בכותרת. הפסיק(,) מוקצה בערכי FS ו-OFS בסקריפט כדי לקרוא את הקובץ 'customers.csv' ולכתוב את הקובץ 'updatedcustomers.csv'. הפקודה 'חתול' משמשת להדפסת התוכן של שני הקבצים.
printf 'קובץ מקורי: \n '#הדפס את התוכן המקורי של קובץ ה-CSV
חתול cstomers.csv
#צור קובץ CSV חדש לאחר שימוש באותיות רישיות בכותרת
מביך 'BEGIN{FS=',';OFS=','}
{
if(NR==1)
print toper($0)
אַחֵר
הדפס
}' customers.csv > updatedcustomers.csv
printf ' \n קובץ שונה: \n '
#הדפס את קובץ ה-CSV החדש
חתול updatedcustomers.csv
הפלט הבא מופיע לאחר ביצוע הסקריפט:
דוגמה 3: החלף את השדה הריק של קובץ ה-CSV ב'ללא'
צור קובץ Bash עם הסקריפט הבא שמדפיס את התוכן של הקובץ 'customers.csv' לאחר שינוי השדה הריק עם הערך 'None'. שני שדות ריקים בקובץ זה המוזכרים להלן. הפקודה 'awk' משמשת בסקריפט כדי להדפיס את תוכן הקובץ לאחר שינוי השדות הריקים. הפסיק(,) מוקצה בערכי FS ו-OFS בסקריפט כדי לקרוא את הקובץ 'customers.csv' ולכתוב את הקובץ 'updatedcustomers.csv'. הפקודה 'חתול' משמשת להדפסת התוכן של שני הקבצים בפורמט הטבלה.
printf 'קובץ מקורי: \n '#הדפס את התוכן המקורי של קובץ ה-CSV בצורה טבלה
חתול customers.csv | עמודות -ים, -ת
מביך 'BEGIN{FS=',';OFS=','}
{
for(field=1;field<=NF;field++)
{
if($field == '') $field='None'
}
הדפס
}' customers.csv > modifiedcustomers2.csv
printf ' \n קובץ שונה: \n '
#הדפס את קובץ ה-CSV החדש בצורה טבלה
חתול modifiedcustomers2.csv | עמודות -ים, -ת
הפלט הבא מופיע לאחר ביצוע הסקריפט:
דוגמה 4: הדפס את המספר הכולל של שורות ועמודות של קובץ ה-CSV
צור קובץ Bash עם הסקריפט הבא שסופר את המספר הכולל של שורות ועמודות בקובץ 'customers.csv'. המשתנה NR משמש להדפסת המספר הכולל של שורות הקובץ. המשתנה NF משמש להדפסת המספר הכולל של השדות של הקובץ.
printf 'קובץ מקורי: \n '#הדפס את התוכן המקורי של קובץ ה-CSV
חתול customers.csv
הֵד
הֵד -נ 'סה'כ שורות:'
מביך -ו, 'END{print NR}' customers.csv
הֵד -נ 'סה'כ עמודות:'
מביך -ו, 'END{print NF}' customers.csv
הפלט הבא מופיע לאחר ביצוע הסקריפט. סך השורות בקובץ הוא 6 וסך השדות של הקובץ הוא 5 אשר מודפסים בפלט:
סיכום
השיטות לקריאת קובץ CSV, שינוי קובץ ה-CSV וספירת השורות והעמודות של קובץ ה-CSV באמצעות סקריפט Bash מוצגות במדריך זה.