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