אנדרואיד

כיצד לשנות שם של קבצים וספריות בלינוקס

Os humildes serão exaltados (Homilia Diária.1619: Sábado da 30.ª Semana do Tempo Comum)

Os humildes serão exaltados (Homilia Diária.1619: Sábado da 30.ª Semana do Tempo Comum)

תוכן עניינים:

Anonim

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

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

במדריך זה אנו נראה לך כיצד להשתמש בפקודות mv ושינוי rename כדי לשנות שמות של קבצים וספריות.

שינוי שם של קבצים עם פקודת mv

פקודת ה- mv (קצרה ממעבר) משמשת לשינוי שם או להעברת קבצים ממיקום אחד למקום אחר. התחביר לפקודת ה- mv הוא כדלקמן:

mv source destination

source יכול להיות קובץ או ספריות או יותר destination יכול להיות קובץ או ספרייה יחידים.

  • אם אתה מציין מספר קבצים source , destination חייב להיות ספרייה. במקרה זה, קבצי source מועברים לספריית היעד. אם אתה מציין קובץ בודד source , destination היעד הוא ספרייה קיימת אז הקובץ מועבר לספרייה שצוינה. כדי לשנות את שם הקובץ עליך לציין קובץ בודד source , וקובץ יחיד destination יעד.

לדוגמה, כדי לשנות את שם הקובץ file1.txt כ- file2.txt תפעיל:

mv file1.txt file2.txt

שינוי שם של קבצים מרובים עם פקודת mv

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

הדוגמה הבאה מראה כיצד להשתמש ב- Bash for loop כדי לשנות את שמם של כל קבצי ה- .html בספרייה הנוכחית על ידי שינוי .html ה- .html ל- .php .

for f in *.html; do mv -- "$f" "${f%.html}.php" done

בואו ננתח את הקוד שורה אחר שורה:

  • השורה הראשונה יוצרת לולאה למצב והיא עוברת ברשימה של כל הקבצים הקובצים עם .html . השורה השנייה חלה על כל פריט ברשימה ומעבירה את הקובץ לקובץ חדש המחליף .html ב- .php . החלק ${file%.html} משתמש בהרחבת פרמטר הפגז כדי להסיר את החלק .html משם הקובץ.done מציין את סוף קטע הלולאה.

אנו יכולים גם להשתמש בפקודת ה- mv בשילוב עם find כדי להשיג את האמור לעיל.

find. -depth -name "*.html" -exec sh -c 'f="{}"; mv -- "$f" "${f%.html}.php"' ;

פקודת החיפוש מעבירה את כל הקבצים המסתיימים ב- .html בספרייה הנוכחית לפקודת ה- mv בזה אחר זה באמצעות מתג -exec . המחרוזת {} הוא שם הקובץ שעובד כעת.

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

שינוי שם קבצים עם שינוי שם של פקודה

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

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

  • התקן שינוי שם ב- Ubuntu ו- Debian

    sudo apt install rename

    התקן שינוי שם ב- CentOS ובפדורה

    sudo yum install prename

    התקן שינוי שם ב- Arch Linux

    yay perl-rename ## or yaourt -S perl-rename

התחביר לפקודה rename הוא כדלקמן:

rename perlexpr files

פקודת rename השם תשנה את שמם של כל files פי הביטוי הרגיל perlexpr שצוין. אתה יכול לקבל ביטויים רגילים על פרל כאן.

לדוגמה, הפקודה הבאה תשנה את כל הקבצים עם סיומת .html ל- .php :

rename 's/.html/.php/' *.html

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

rename -n 's/.html/.php/' *.html

הפלט ייראה כך:

rename(file-90.html, file-90.php) rename(file-91.html, file-91.php) rename(file-92.html, file-92.php) rename(file-93.html, file-93.php) rename(file-94.html, file-94.php)

כברירת מחדל, פקודת שינוי השם לא תחליף קבצים קיימים. העבירו את הארגומנט -f כדי לאפשר כתיבה מוגזמת של קבצים קיימים.

rename -f 's/.html/.php/' *.html

להלן מספר דוגמאות נפוצות יותר לשימוש בפקודת שינוי השם:

  • החלף רווחים בשמות קבצים בקווים תחתונים

    rename 'y/ /_/' *

    המר שמות קבצים לאותיות קטנות

    rename 'y/AZ/az/' *

    המרת שמות קבצים לגדולות

    rename 'y/az/AZ/' *

סיכום

בשלב זה אמורה להיות לך הבנה טובה כיצד להשתמש בפקודות ה- mv ושינוי rename כדי לשנות את שם הקבצים. כמובן שישנן פקודות נוספות לשינוי שם של קבצים בלינוקס כמו mmv . משתמשי לינוקס חדשים המאוימים על ידי שורת הפקודה יכולים להשתמש בכלים לשינוי שם אצווה של GUI כמו ה- Métamorphose.

שינוי שם מסוף mv