Главная > Управление файлами и каталогами > rename

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

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

Обзор

`rename` — это мощная команда, используемая для изменения большого количества имен файлов в соответствии с правилом. Эта команда позволяет находить и заменять определенные строки в именах файлов, используя синтаксис регулярных выражений Perl, такой как `s/old_pattern/new_pattern/`. Например, вы можете легко автоматизировать такие задачи, как изменение всех расширений `.jpeg` на `.jpg` или замена пробелов в именах файлов на нижние подчеркивания (`_`).

Ключевые особенности

Основные особенности команды rename следующие:

  • Изменяет имена нескольких файлов одновременно.
  • Предоставляет мощную функцию замены по шаблону на основе регулярных выражений.
  • В отличие от команды mv, которая изменяет файлы по одному, rename оптимизирована для пакетной обработки.
  • Поддерживает режим dry run для предварительного просмотра результатов изменений, что помогает избежать ошибок.

Различия между rename и mv

И rename, и mv используются для переименования файлов, но различаются по функциональности и назначению.

  • rename: Специализируется на пакетном изменении имен нескольких файлов на основе шаблонов.
  • mv: Используется для изменения имени или перемещения одного файла или каталога. Для изменения нескольких файлов требуется скрипт.

Основные опции

Опции команды `rename`, которые часто используются, сгруппированы по назначению.

1) Пакетное изменение

2) Справка

Сгенерированная команда:

Комбинируйте команды.

Описание:

`rename` Запускает команду.

Комбинируйте эти опции, чтобы виртуально выполнять команды с помощью ИИ.

Примеры использования

Изучите возможности команды `rename` на различных примерах использования.

Изменение расширения файла

rename 's/\.jpeg$/.jpg/' *.jpeg

Изменяет все расширения `.jpeg` на `.jpg` в текущем каталоге.

Изменение определенной строки в имени файла

rename 's/^image_/photo_/' *.jpeg

Изменяет `image_` на `photo_` во всех именах файлов, начинающихся с `image_`.

Замена пробелов на нижние подчеркивания

rename 's/ /_/g' *

Заменяет все пробелы (` `) в именах файлов на нижние подчеркивания (`_`).

Преобразование заглавных букв в строчные

rename 'y/A-Z/a-z/' *

Преобразует все заглавные буквы в именах файлов в строчные.

Предварительный просмотр результата изменений

rename -n 's/.html/.txt/' *.html

Предварительно просматривает результат изменения расширения `.html` на `.txt` без фактического изменения файла.

Установка

Команда `rename` не входит в стандартную поставку всех дистрибутивов Linux, поэтому ее необходимо установить с помощью приведенных ниже команд. В некоторых дистрибутивах название пакета может отличаться, например `perl-rename` или `prename`.

Debian/Ubuntu

sudo apt update
sudo apt install rename

RHEL/CentOS/Fedora

sudo dnf install prename

Arch Linux

sudo pacman -S perl-rename

Советы и меры предосторожности

Собраны моменты, на которые следует обратить внимание при использовании команды `rename`.

Советы

  • В регулярных выражениях точка (.) означает любой символ, поэтому при изменении расширения необходимо экранировать ее обратной косой чертой (\), например \.jpeg.
  • rename — мощный инструмент, поэтому для предотвращения ошибок всегда рекомендуется сначала использовать опцию -n для предварительного просмотра результатов.
  • Если имя файла содержит пробелы, его необходимо заключать в кавычки (") при передаче в качестве аргумента.

Связанные команды

Функционально схожие или часто используемые команды.



Те же команды в категории