כיצד לחלץ שם קובץ ותוסף ב-Bash

Kyzd Lhlz Sm Qwbz Wtwsp B Bash



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

חילוץ שם הקובץ והסיומת ב-Bash

ישנן מספר דרכים לחלץ את שם הקובץ והסיומת ב-Bash, להלן שלוש שיטות נפוצות:







1: שימוש בפקודה Basename

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



#!/bin/bash
# נתיב קובץ לדוגמה
file_path = '/path/to/file.txt'

# חלץ את שם הקובץ
שם קובץ =$ ( שם בסיס $file_path )

# חלץ סיומת
סיומת = ' ${filename##*.} '

הֵד 'שם קובץ: $filename '
הֵד 'סיומת: $extension '







2: שימוש בהרחבת הפרמטרים

ה הרחבת פרמטרים תחביר הוא תכונה רבת עוצמה של Bash המאפשרת לך לתפעל מחרוזות. כדי לחלץ את שם הקובץ והסיומת באמצעות הרחבת פרמטרים, אתה יכול להשתמש ב- ${parameter##word} תחביר, שמסיר את ההתאמה הארוכה ביותר של התבנית שצוינה מתחילת הפרמטר כמו בקוד שלהלן:

#!/bin/bash
# נתיב קובץ לדוגמה
file_path = '/path/to/file.txt'
# חלץ את שם הקובץ
שם קובץ = ' ${file_path##*/} '
# חלץ סיומת
סיומת = ' ${filename##*.} '
הֵד 'שם קובץ: $filename '
הֵד 'סיומת: $extension '



3: שימוש במשתנה IFS (מפריד שדות פנימי).

ה משתנה IFS משמש את Bash כדי לפצל מחרוזות לשדות על ידי הגדרת ה- משתנה IFS למפריד הנתיבים ('/'). אתה יכול לחלץ את שם הקובץ והסיומת מנתיב קובץ דרך משתנה זה באמצעות הקוד הנתון להלן:

#!/bin/bash
# נתיב קובץ לדוגמה
file_path = '/path/to/file.txt'
# הגדר את IFS ל-'/'
IFS = '/' לקרוא חלקים <<< ' $file_path '

# חלץ את שם הקובץ
שם קובץ = ' ${parts[-1]} '
# חלץ סיומת
סיומת = ' ${filename##*.} '
הֵד 'שם קובץ: $filename '
הֵד 'סיומת: $extension '

סיכום

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