פגז חנון שינוי שם קבצים מרובים בבת אחת
נניח שיש לך ספרייה עם מאות קבצים עם שמות הקבצים הלא נכונים, וברצונך להחליף כל שם קובץ המכיל מבחן עם prod. (זוהי דוגמה מקובלת). אנחנו יכולים בקלות לעשות את זה עם הפקודה "עבור" ב באש, בשילוב עם קצת טוב טוב. היום נלמד כיצד להחליף טקסט במשתנה בלולאה.
הפקודה "for" פועלת כך:
עבור var in: בצעו $ var
אתה יכול להחליף עם כל תבנית התאמה לקובץ, כגון * או *. txt, ואתה יכול להחליף עם כל פקודת לינוקס. הפקודה תוצג ברצף בכל אחד מהקבצים שתואמים את תבנית ההתאמה של הקובץ.
זה המקום שבו טיפול משתנה באש עושה את זה עוד יותר מעניין. במקום פשוט לעשות משהו כמו "mv $ var", אנחנו יכולים להחליף טקסט בשם הקובץ באמצעות תחביר זה:
$ var / originaltext / replacetext
אז עכשיו, אם אנחנו מריצים את הפקודה על המדריך שלנו:
עבור f * ב לעשות mv $ f $ f / test / prod, נעשה
עבור כל קובץ תואם *, bash יבצעו פקודה הדומה לזה:
test.config prod.config
מצאתי כי הידע של פגז הוא לא יסולא בפז בעת ניהול שרתים או רק לניהול אוסף הקבצים שלך, ויש לי נשמר לי שעות של מה היה אחרת היה עבודה ידנית.
וכן, אני מבין שיש מספר כלים שיכולים לבצע שינוי שם של מספר קבצים.