Да приемем, че имате директория със стотици файлове с грешни имена на файлове и искате да замените всяко име на файл, съдържащо тест с ръгане, (това е измислен пример). Ние можем лесно да направим това с командата "за" в бас, комбинирана с малко божество. Днес ще научим как да заменим текста в променлива в линия за.
Командата "за" работи по следния начин:
for var in ;do $var;done
Можете да го замените
Това е мястото, където променливата обработка на баш го прави още по-интересно. Вместо просто да правим нещо като "mv $ var", можем да заменим текста в името на файла с помощта на този синтаксис:
${var/originaltext/replacetext}
Така че сега, ако изпълним тази команда в нашата директория:
for f in *;do mv $f ${f/test/prod};done
За всеки файл, съвпадащ с *, bash ще изпълни команда, подобна на тази:
mv test.config prod.config
Установих, че познаването на черупката е безценно при администриране на сървъри или само за управление на файловата ви колекция и ми е спестил часове от това, което иначе би било ръчна работа.
И да, разбирам, че има редица инструменти, които могат да доведат до преименуването на няколко файла.