Поиск по сайту:
Исправить злого человека невозможно, он может изменить только вид, но не нрав (Эзоп).

Переименовать файлы Linux с помощью Rename

20.06.2021
Переименовать файлы Linux с помощью Rename

При работе с файлами их переименование – одно из самых основных действий. В Linux переименование файла или каталога в основном выполняется с помощью mv. Однако когда дело доходит до переименования нескольких файлов или папок, использование mv становится сложным. Для выполнения этой работы требуется создание сложных петель и трубопроводов. Команда переименования специально разработана для таких ситуаций.

Rename – это мощный инструмент пакетного переименования, который использует выражение Perl для переименования нескольких файлов и каталогов с помощью одной команды. В этой статье вы узнаете, как переименовывать файлы с помощью функции переименования.

 

Установка Rename

Команда Rename не предустановлена. К счастью, мы можем установить его с официальных серверов пакетов любого дистрибутива Linux.

Существует две версии инструмента, каждая со своим синтаксисом и функцией. В этой статье мы сосредоточимся на том, что использует Perl.

В случае Debian/Ubuntu переименование доступно как «переименование» пакета. Установите пакет.

$ sudo apt update

$ sudo apt install rename

 

В случае CentOS и Fedora имя пакета другое. Он известен как «prename». Установите пакет.

$ sudo yum install prename

 

В случае Arch Linux имя пакета – «perl-rename». Установите пакет.

$ sudo pacman -S perl-rename

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

Давайте посмотрим на различные способы использования команды переименования.

 

Базовая структура команд

Инструмент следует следующей структуре команд:

$ rename <options> <perl_expression> <files>

Команда rename на самом деле является сценарием Perl. Он работает с использованием выражения Perl. Как вы можете догадаться, для его полного использования требуется опыт работы с регулярными выражениями Perl.

Читать  Как мне заархивировать все файлы в каталоге в Linux?

Хотя существует множество способов построения выражения Perl, следующее выражение довольно часто встречается при работе с командой rename.

$ s/<search_pattern>/<replacement>/

Основное использование

Здесь у меня есть куча фиктивных файлов, готовых к переименованию.

 

Следующая команда переименования переименует все расширения файлов с TXT на TEXT.

$ rename 's/.txt/.text/' *.txt

 

Здесь целевые файлы для переименования выражаются с помощью символа подстановки (*).

 

Подробный режим

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

Чтобы выполнить переименование в подробном режиме, добавьте флаг «-v».

$ rename -v 's/.txt/.text/' *.txt

 

Пробный запуск

При запуске переименования изменения становятся постоянными. Во многих ситуациях это приведет к ненужным неприятностям. Чтобы предотвратить нежелательные изменения в именах файлов и папок, мы можем протестировать команду с помощью пробного запуска.

Пробный запуск – это в основном тестовый запуск, который ничего не меняет с фактическими файлами и папками. Однако при использовании подробного режима вывод будет выводиться так, как если бы команда действительно была выполнена. Вот почему всегда рекомендуется пробовать пробный прогон в подробном режиме. Перед запуском любой команды переименования для важных файлов и папок рекомендуется выполнить пробный запуск.

Чтобы выполнить пробный прогон, добавьте флаг «-n».

$ rename -v -n 's/.txt/.text/' *.txt

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

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

$ rename -v -f 's/.txt/.text/' *.txt

 

Читать  Списки контроля доступа в Ubuntu

Пример переименования выражений Perl

Основная структура команды переименования очень проста. Его основная сила – это включение регулярных выражений Perl. Регулярное выражение – это умный способ описания шаблона и указания действий. Для новичков вот руководство по регулярным выражениям с использованием grep и egrep . Несмотря на использование различных инструментов, основы регулярных выражений по-прежнему применяются.

Вот краткий список некоторых распространенных выражений переименования Perl. Обратите внимание, что это только для справки. Перед тем, как ввести их в эксплуатацию, всегда выполняйте пробный запуск, чтобы убедиться, что они работают должным образом.

 

Замена пробелов

Следующее выражение заменит пробелы в именах файлов на подчеркивание.

$ 'y/ /_/'

 

Преобразование имен файлов в верхний регистр

Нужны имена файлов в верхнем регистре? Следующее выражение Perl в сочетании с командой переименования сделает именно это.

$ 'y/a-z/A-Z/'

Преобразование имен файлов в нижний регистр

Следующее выражение Perl при использовании с переименованием переименует имена файлов из верхнего регистра в нижний.

$ 'y/A-Z/a-z/'

 

Удаление частей имен файлов

Если имена файлов содержат ненужное содержимое, мы всегда можем удалить их с помощью выражения Perl. Например, чтобы переименовать файлы резервных копий (.bak) в исходные файлы, мы можем просто удалить часть «.bak» из имени файла.

$ 's/\bak$//'

 

Переименование нескольких совпадающих шаблонов

Допустим, у вас есть файлы TEXT и TXT. Несмотря на разные расширения файлов, оба они имеют один и тот же формат. Вместо того, чтобы иметь дело с TEXT и TXT, мы можем переименовать их все в файлы TXT.

$ 's/\.te?xt$/.txt/i'

 

Читать  Как настроить имя пользователя и адрес электронной почты Git

Точно так же, вместо того, чтобы иметь дело с JPEG и JPG, мы можем переименовать их все в JPG.

$ 's/\.jpe?g$/.jpg/i'

 

Обратите внимание, что в обоих случаях расширения файлов имеют сходство, за исключением одного символа. Вот почему мы могли использовать этот ярлык. Если расширения файлов совершенно разные, то работать не будет.

 

Заключение

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

Если вы нашли ошибку, пожалуйста, выделите фрагмент текста и нажмите Ctrl+Enter.

1 Звезда2 Звезды3 Звезды4 Звезды5 Звезд (1 оценок, среднее: 5,00 из 5)
Загрузка...
Поделиться в соц. сетях:


0 0 голоса
Рейтинг статьи
Подписаться
Уведомить о
guest

**ссылки nofollow

0 комментариев
Старые
Новые Популярные
Межтекстовые Отзывы
Посмотреть все комментарии

Это может быть вам интересно


Рекомендуемое
Лучшие ноутбуки для игр обеспечивают потрясающую визуальную производительность высококлассного настольного…

Сообщить об опечатке

Текст, который будет отправлен нашим редакторам: