>_ IzzyLab

Практическое задание

Переименуй все .txt в .bak

средне

В /root/docs лежат .txt-файлы. Напиши и выполни команду/скрипт, который переименует каждый из них, заменив расширение .txt на .bak.

Что потренируешь:
  • for
  • mv
  • подстановка параметров
  • ${var%суффикс}
  • шаблоны glob

Разбор темы

mv переименовывает по одному файлу и не понимает массовых шаблонов вроде *.txt → *.bak, поэтому пакетное переименование делается циклом for, который разворачивает glob-шаблон и на каждой итерации даёт очередной путь. Превратить имя.txt в имя.bak помогает подстановка параметров вида ${переменная%суффикс}: знак % отрезает с конца самый короткий совпавший суффикс, после чего к остатку дописывается новое расширение. Переменные стоит брать в кавычки на случай пробелов в именах.

Что проверяется

  1. .txt-файлов не осталось
  2. создано 3 .bak-файла

Как это выглядит