Главная > Управление файлами и каталогами > 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` для предварительного просмотра результатов.
  • Если имя файла содержит пробелы, его необходимо заключать в кавычки (`"`) при передаче в качестве аргумента.

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

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


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