Bash printf פונקציה: 7 דוגמאות ללינוקס

Bash printf פונקציה: 7 דוגמאות ללינוקס

אם השתמשת במעטפת Bash במשך זמן הגון, סביר להניח שאתה יודע כיצד להדפיס מחרוזות במסוף לינוקס באמצעות פקודת הד. הפקודה printf, לעומת זאת, הופכת את ההדפסה של טקסט עם עיצוב ספציפי לקלה הרבה יותר.





היום נלמד כיצד להשתמש בפונקציית printf על מנת לשפר את כישורי הסקריפטים של Bash.





מהי פונקציית Bash printf?

כפי שהשם מרמז, printf היא פונקציה שמדפיסה מחרוזות טקסט מעוצבות. זה אומר שאתה יכול לכתוב מבנה מחרוזת (הפורמט) ובהמשך למלא אותו בערכים (הארגומנטים).





אם אתה מכיר את שפות התכנות C/C ++, ייתכן שאתה כבר יודע כיצד פועלת printf. Printf במעטפת Bash דומה מאוד, אך יש לה כמה הבדלים קטנים.

למד עוד: האתרים הטובים ביותר להתחיל עם תכנות C ++



כיצד להשתמש ב- printf במעטפת הבש

התחביר הבסיסי של printf הוא:

printf format [argument]

Printf תדפיס את פוּרמָט מחרוזת בעת היישום דליפות ( ) ו הוראות ( % ) באמצעות השימוש בפרט טיעונים . שים לב לפלט של הפקודה הבאה:





$ printf 'Hello, %s' world
Hello, world

פרינטף לקח את עוֹלָם הטיעון והחליף את %s תו במחרוזת שצוינה איתו.

ייתכן שתבחין כי לאחר הפלט, באש אינו יוצר עבורך שורה חדשה. בניגוד לפקודת הד, printf לא יניח שאתה רוצה שורה חדשה לאחר הדפסת הפלט. לפיכך, יהיה עליך להשתמש בתו השורה החדש n בכל מקרה.





כדי להדפיס מחרוזת ולאחר מכן לעבור לשורה חדשה, הקלד printf 'שלום, עולם n' .

Hello, world

חשוב לזכור כי printf ינסה לעשות שימוש חוזר בפורמט לכל הטיעונים שלך. אתה יכול להשתמש בזה לטובתך, אך אם אינך זהיר, תוכל להגיע לתוצאות כמו אלה:

$ printf 'My name is %s ' Jordan Gloor
My name is Jordan My name is Gloor

עליך גם להיות מודע לכך שאם חסר טיעון, printf יפרש כל הוראה כ 0 (למספר) ו ריק (עבור מחרוזת).

$ printf 'Hello, %s.'
Hello, .

עכשיו שאתה יודע איך Bash scripting עם printf בלינוקס עובד, אתה מוכן להתחיל להשתמש בו בפקודות שלך.

Linux Bash printf דוגמאות

Printf כולל מפרטי פורמט רבים בהם תוכל להשתמש בתסריטים שלך. אבל היום נסקור רק כמה מהנפוצים עבור הפונקציה.

1. פורמט פלט בעזרת מחרוזת

כדי לעצב את הפלט עם מחרוזות טקסט, השתמש ב %s הוֹרָאָה.

$ printf '%s is one of the largest online %s.' MUO 'technology publications'
MUO is one of the largest online technology publications.

2. עיצוב מחרוזת פלט עם עשרוניות

כדי לעצב מחרוזת עם מספר שלם, תוכל להשתמש ב הנחיה לעשרוני חתום.

$ printf 'MUO was founded in %d.' 2007
MUO was founded in 2007.

שים לב שאם ברצונך להשתמש בעשרוני שאינו חתום בפלט, יהיה עליך להשתמש ב- % u הנחיה במקום.

למה הטלפון שלי לוקח כל כך הרבה זמן להטעין

קָשׁוּר: מה המשמעות של 'באש' בלינוקס?

3. פלט פונקציות מתמטיות באמצעות printf

עיצוב פונקציות מתמטיות באמצעות הפקודה printf קל. פשוט מקם את הביטוי שלך בתוך סוגריים כפולים כמו שאתה עושה בדרך כלל ב- Bash, וציין את הביטוי ברשימת הארגומנטים.

$ printf '1 + 1 is %d' $((1+1))
1 + 1 is 2

4. עיצוב מספרים הקסדצימליים

אם עליך לעצב מספר הקסדצימלי, השתמש % איקס לאותיות קטנות ו % איקס עבור רישיות.

$ printf %X 1000
3E8C

כדי להדפיס את התאריך והשעה הנוכחיים, ניתן לשלב בין printf לבין תַאֲרִיך לשלוט ולהעביר את ההנחיות הבאות.

$ printf '%(%m-%d-%Y %H:%M:%S)T' $(date +%s)
03-26-2021 15:27:57

אתה יכול לראות את מפרטי הפורמט לחודש, יום, שנה, שעה, דקה ושנייה בתפוקה הנ'ל.

6. עיצוב מחרוזות עם תווי Unicode

כדי להדפיס תווי Unicode באמצעות printf, השתמש ב u בריחה ל- Unicode ו- 16 סיביות U עבור Unicode 32 סיביות.

לדוגמה, באפשרותך להדפיס את זכויות יוצרים סמל עם הפקודה הבאה:

$ printf 'u00A9'
©

7. הוסף את המרווח לפלט

אתה יכול לעצב את המחרוזות שלך ברווחים על ידי הגדרת לפני מציין ההנחיה מספר מינימלי של תווים מודפסים. תווים שאינם בשימוש ימולאו ברווחים.

למשל הקלדה printf '%s:%5d n' 'ערך 1' ​​25 'ערך 2' 120 יפיק:

Value 1: 25
Value 2: 120

ה %5d מציין פורמט בפלט מציין שהמחרוזת המעוצבת תכלול לפחות חמישה תווים. מכיוון של- 25 יש רק שתי ספרות, יתווספו רווחים לדמויות הנותרות.

אם תעביר מספר שלילי כרוחב, ההנחיה תהיה שמאלית-מוצדקת במקום ימין-מוצדק.

$ printf '%-10s: %d ' 'Circles' 25 'Boxes' 120
Circles : 25 Boxes : 120

אם ברצונך להפוך את משתנה הרוחב, תוכל להעביר כוכבית במקום מספר, ו- printf ישתמש במספר הבא שהוא מוצא ברשימת הארגומנטים.

$ printf '%*s: %d ' -10 'Circles' 25 -10 'Boxes' 120
Circles : 25 Boxes : 120

קָשׁוּר: כל מה שאתה צריך לדעת על Bash For Loops בלינוקס

לימוד הפקודה Linux printf

בעזרת הפקודה printf בחגורת השירות Bash scripting שלך, אתה מוכן להתחיל להדפיס מחרוזות מורכבות ומשתנות במסוף שלך. כשאתה מפתח את סקריפטים של Bash, חשוב לוודא שאתה עובד בסביבה היצרנית ביותר האפשרית. זה לא רק ישפר את כישורי שורת הפקודה שלך, אלא גם ישפר את זרימת העבודה שלך באופן כללי.

לַחֲלוֹק לַחֲלוֹק צִיוּץ אימייל 10 הפצות Linux הטובות ביותר למפתחים

מוכן להתחיל בפיתוח במערכת הפעלה בקוד פתוח? להלן הפצות לינוקס הטובות ביותר לתכנות.

חפש רשימת משאלות של אמזון
קרא הבא נושאים קשורים
  • לינוקס
  • Linux Bash Shell
  • פקודות לינוקס
על הסופר ג'ורדן גלור(51 מאמרים פורסמו)

ג'ורדן הוא כותב צוות ב- MUO שמתלהב להפוך את לינוקס לנגישה וללא מתח עבור כולם. הוא גם כותב מדריכים בנושא פרטיות ופרודוקטיביות.

עוד מג'ורדן גלור

הירשם לניוזלטר שלנו

הצטרף לניוזלטר שלנו לקבלת טיפים, סקירות, ספרים אלקטרוניים בחינם ומבצעים בלעדיים!

לחצו כאן להרשמה