Переименование нескольких файлов в Linux

rename – инструмент командной строки для переименования нескольких файлов в Linux

Рубрики:

Linux

Метки:

, , , ,

Мы часто используем команду «mv» для переименования одного файла в Linux. Однако быстрое переименование нескольких файлов или тем более группы файлов достаточно сложная задача для выполнения в терминале.

Linux поставляется с очень мощным встроенным инструментом под названием rename. Команда rename используется для переименования нескольких файлов или же группы файлов, переименования файлов из верхнего в нижний регистр и наоборот, и перезаписывания файлов с использованием выражений perl.

Переименование нескольких файлов в Linux

Команда «rename» является частью скрипта Perl и находится в разделе «/usr/bin/» во многих дистрибутивах Linux. Вы можете запустить команду «which», чтобы узнать местоположение команды rename.

 

Основной синтаксис команды переименования

 

Команда rename содержит несколько необязательных аргументов вместе с обязательными регулярными выражением для perl, которое указывают команде rename выполнять конкретные действия.

 

  • -v: Показать, имена успешно переименованных файлов.
  • -n: Показать, какие файлы были бы переименованы.
  • -f: Принудительно перезаписать существующие файлы.
  • perlexpr: регулярные выражения для Perl.

Для лучшего понимания этой утилиты мы обсудим несколько практических примеров этой команды в статье.

1. Пример базовой команды переименования

Предположим, у вас есть куча файлов с расширением «.html», и вы хотите переименовать все файлы в «.php» за один раз. Сначала выполните «ls -l», чтобы проверить список файлов с расширением «.html».

 

Теперь изменим расширение всех этих файлов с «.html» на «.php». Вы можете использовать следующую команду «rename» с регулярными выражением для perl, как показано ниже.

 

Примечание. В приведенной выше команде мы использовали два аргумента.

  • Первый аргумент – это выражение perl, которое заменяет .html на .php.
  • Второй аргумент – сообщает команде rename заменить все файлы на *.php.

Давайте проверим, все ли файлы переименованы в расширение .php, выполнив ls -l:

 

 

Выше вы видите, что все html файлы переименованы в php.

2. Проверьте изменения перед выполнением команды переименования

При выполнении важных или крупных задач переименования вы всегда можете проверить изменения, выполнив команду rename с аргументом «-n». Параметр «-n» точно скажет вам, какие изменения произойдут, но изменения не выполняются по-настоящему.

 

3. Вывод полной информации обо всех изменениях

Мы видели, что команда rename не отображает никакой информации об изменениях, которые она делает. Итак, если вы хотите получить информацию о команде переименования вы можете использовать флаг «-n», или же флаг «-v», чтобы вывести полную информацию обо всех изменениях, сделанных командой rename

 

4. Преобразование регистров (верхний в нижний и наоборот)

Чтобы разом переименовать все файлы с именами написанными нижним регистром в верхний регистр, необходимо:

Нижний регистр в верхний:

 

Просто используйте следующую команду с выражением perl.

 

После выполнения вышеуказанной команды вы можете проверить изменения, выполнив «ls -l».

 

Вы видите, что приведенная выше команда фактически переименовала все имена файлов нижнего регистра (с расширением .HTML) в верхний регистр.

Верхний регистр в нижний:

Аналогично, вы также можете преобразовать все символы верхнего регистра в нижний регистр, используя следующую команду:

 

5. Перезапись существующих файлов

Если вы хотите принудительно перезаписать существующие файлы, используйте параметр «-f», как показано в примере ниже.

 

Если вы хотите узнать больше о команде rename, введите «man rename» в терминале.

Команда rename очень полезна, если вы имеете дело с многократным или групповым переименованием файлов из командной строки.

 

 

Спасибо за уделенное время на прочтение статьи!

Если возникли вопросы, задавайте их в комментариях.

Подписывайтесь на обновления нашего блога и оставайтесь в курсе новостей мира инфокоммуникаций!

Чтобы знать больше и выделяться знаниями среди толпы IT-шников, записывайтесь на курсы Cisco от Академии Ciscoкурсы Linux от Linux Professional Institute на платформе SEDICOMM University.

Курсы Cisco и Linux с трудоустройством!

Спешите подать заявку! Осталось пару мест. Группы стартуют 22 июля, а следующая 19 августа, 23 сентября, 21 октября, 25 ноября, 16 декабря, 20 января, 24 февраля.
Что Вы получите?
  • Поможем стать экспертом в сетевом администрировании и получить международные сертификаты Cisco CCNA Routing & Switching или Linux LPI.
  • Предлагаем проверенную программу и учебник экспертов из Cisco Networking Academy и Linux Professional Institute, сертифицированных инструкторов и личного куратора.
  • Поможем с трудоустройством и сделать карьеру. 100% наших выпускников трудоустраиваются.
Как проходит обучение?
  • Проводим вечерние онлайн-лекции на нашей платформе или обучайтесь очно на базе Киевского офиса.
  • Спросим у вас об удобном времени для практик и подстроимся: понимаем, что времени учиться мало.
  • Если хотите индивидуальный график — обсудим и осуществим.
  • Выставим четкие дедлайны для самоорганизации. Личный куратор будет на связи, чтобы ответить на вопросы, проконсультировать и мотивировать придерживаться сроков сдачи экзаменов.
А еще поможем Вам:
  • отредактировать резюме;
  • подготовиться к техническим интервью;
  • подготовиться к конкурсу на понравившуюся вакансию;
  • устроим на работу в Cisco по программе Cisco Incubator, New Graduate и Experienced. Наши студенты, которые уже работают там: жмите на #НашиВCisco Вконтакте, #НашиВCisco Facebook.
Чтобы учиться на курсах Cisco CCNA Routing & Switching и Linux LPI, подайте заявку или получите бесплатную консультацию.

Рубрики:

Linux

Метки:

, , , ,

Больше похожих постов

2 комментария. Оставить новый

  • Лично у меня на убунту после попытки переименовать с верхнего в нижний регистр командой rename ‘y/A-Z/a-z/’ *.* пишет:

    File1.TXT not renamed: file1.txt already exists
    File2.TXT not renamed: file2.txt already exists
    File3.TXT not renamed: file3.txt already exists

    Ответить
  • А как переименовать кучу файлов с различными именами и одним расширением в типа: file00.*, file01.*, … fileNN.*?

    Ответить

Добавить комментарий

Ваш адрес email не будет опубликован. Обязательные поля помечены *

Заполните поле
Заполните поле
Пожалуйста, введите корректный адрес email.
Вы должны согласиться с условиями для продолжения

Поиск по сайту
Лучшее
Популярное
Рубрики