תחביר בסיסי של שורת קריאה
התחביר הבא משמש עבור bash shell לקריאת קובץ תוך שימוש בלולאה:
בזמן לקרוא -rקַו;
לַעֲשׂוֹת
זרק 'שורה $';
בוצע <input.file
האפשרות '-r' בתחביר שהוזכר לעיל הועברה לפקודת קריאה המונעת את בריחת הלחצן החוזר מפרשנות. האפשרות 'input_file' ייצגה את שם הקובץ שאליו ברצונך לגשת באמצעות הפקודה 'read'.
ניתן להשתמש במפריד השדות הפנימי המקוצר IFS לפני פקודת הקריאה מוגדרת למחרוזת null שמונעת מקיצוץ של מרחב לבן או נגרר.
בזמן IFS=לקרוא -rקַו;
לַעֲשׂוֹת
זרק שורה $;
בוצע <input.file
פתח את הטרמינל באמצעות קיצור Ctrl + Alt + t ולאחר מכן הפעל עליו את הפקודות הבאות.
דוגמה מס '1: קריאת קבצים שורה אחר שורה
ניקח דוגמא בה נניח שיש לנו קובץ בשם OS.txt המכיל את שמות כל הפצות הלינוקס החשובות. אם אתה רוצה לקרוא קובץ מבלי להשתמש בפקודה 'חתול', לשם כך תוכל לבצע את הפקודה הבאה לביצוע המשימה הספציפית. נשתמש בלולאת ה- while שתקרא כל שורה מהקובץ OS.txt ונשמור את התוכן בכל שלב בשורת $ משתנה שתוכל להציג מאוחר יותר.
הדבק את השמות הבאים של הפצות Linux ב- OS.txt
CentOS
אובונטו
דביאן
LinuxMint $בזמן לקרואקַו;
לַעֲשׂוֹת
זרק שורה $;
בוצע <OS.txt
מהפקודה שלעיל תקבל את התגובה הבאה בחלון הטרמינל:
דוגמה מס '2: קריאת קובץ באמצעות סקריפט bash
צור קובץ bash ולאחר מכן הוסף את הקוד המוזכר בקובץ זה כדי לקרוא את תוכן הקובץ. אתה יכול לאחסן את קובץ הטקסט הקודם במשתנה חדש של שם קובץ ומשתנה $ n משמש כדי לשמור על הערך של כל שורה. כעת, בעזרת לולאת ה- while נקרא כל שורה מתוך קובץ עם מספר שורה מסוים.
#!/bin/bashשם קובץ='OS.txt'
נ=1
בזמן לקרואקַו;
לַעֲשׂוֹת
# לקריאת כל שורה
זרק 'קו הפצה של מערכת ההפעלה.$ n:שורה $'
נ= $((n+1))
בוצע < $ קובץ
שמור את הקובץ בשם OSinfo.sh והקלד את הפקודה הבאה במסוף כדי להריץ את סקריפט bash לעיל.
$לַחֲבוֹטOSinfo.sh
כעת, הפעל את הפקודה cat כדי להציג את תוכן הקובץ המקורי.
$חתולOS.txt
שיטה חלופית לקריאת קבצים
שימוש בשם קובץ עובר מתוך פקודה
בקובץ bash, עליך להוסיף את סקריפט הקוד הבא. בתסריט זה, עלינו לקחת שם קובץ כארגומנט. ראשית, ערך הארגומנט נקרא על ידי משתנה של $ 1 בעל שם קובץ לקריאה. הוא יבדוק כי שם הקובץ קיים במיקום שצוין ואז באמצעות לולאת ה- while הוא קורא שורה אחר שורה בדומה לדוגמה הקודמת.
#!/bin/bashשם קובץ=$ 1
בזמן לקרואקַו;לַעֲשׂוֹת
# קריאת כל שורה
זרק שורה $
בוצע < קובץ $.טקסט
שמור את הסקריפט לעיל בשם 'Readline.sh' ובצע את הפקודה הבאה במסוף כדי להריץ את הסקריפט הנ'ל:
בפלט לעיל, תבחין כי הקובץ 'OSinfo.txt' עובר כטענה והתוכן של 'OSinfo.txt' יוצג לאחר הסרת רווחים נוספים. אתה יכול להציג את תוכן הקובץ המקורי על ידי הפעלת 'cat OSinfo.txt'.
סיכום
במאמר זה דנו כיצד לקרוא שורות באמצעות לולאת ה- while בתכנות bash. יישמנו שיטות שונות באמצעות סקריפט bash או שאתה יכול פשוט להשתמש בקובץ טקסט כדי לבצע קריאת קובץ שורה אחר שורה. אם אתה מעוניין ללמוד דוגמאות נוספות, באמצעות התחביר הנ'ל תוכל לבצע גם במערכת שלך. אני מקווה שנהנית מהדרכה הזו ושהיית ייחודי עבורך. יידע אותנו במקרה של תקלה כלשהי.