26.02.2021

Переименование файлов в Linux командой rename

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

Переименовываем название файлов командой rename

Предположим, у нас имеются файлы с расширением “.jpg” сделанные при помощи камеры, как возможно вы знаете, при фотосъемке задается какое-то не особо понятное название файлов, для примера я взял фото с телефона – “IMG_20200120_1804.jpg”. И мне необходимо переименовать данные файлы, к примеру, хочу задать название города, где были сделаны эти фотки, тут нам и поможет команда “rename”. И так, как вы поняли, данная команда выполняется в терминале, переходим в него, и первым делом необходимо убедиться в том, что у вас установлен пакет с данной командой, это можно узнать набрав команду:

rename -version

В том случае, если данная команда не доступна, можно установить пакет с этой командой:

sudo apt install rename

Работа с командой “rename” выглядит следующим образом:

rename опция ‘s/старое_имя/новое_имя’ и указываем какие файлы.

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

Так же можно вызвать справку по данной команде набрав:

rename --help

И так, от слов к практике, как говорилось выше, имеются файлы “IMG_20200120_1804.jpg” которые необходимо переименовать и задать вместо не понятных букв и цифр название города, пусть это будет “ОМСК”. Что бы переименовать вводим команду:

rename 's/IMG_20200120/OMCK/' *.jpg

Но и это еще не все, предположим я хочу переименовать файлы с заглавных букв в прописные, это так же просто сделать командой “rename”. Что бы сменить регистр букв вместо буквы “s” в команде указываем букву “y”, затем вводим “A-Z” – это буквы Английского алфавита, и через косую черту “/” указываем тот же Английский алфавит, но уже прописные буквы. То есть:

rename ‘y/A-Z/a-z/’ и указываем точно так же как и при переименовании файлы “*.jpg”:

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

Идем дальше, давайте удалим слово “omck” с нижним подчеркиванием, для этого команда будет выглядеть следующим образом:

rename ‘s/omck_//’ точно так же указываем расширения файлов *.jpg:

rename 's/omck_//' *.jpg

Переименовываем расширение файлов командой rename

И так, думаю с переименованием файлов понятно, теперь переходим к переименованию расширений. Предположим, имеются скрипты написанные в формате “.txt” и их нужно переименовать в “.sh”. Вот по какой-то причине скрипты имеют такое расширение, не будем вдаваться в подробности. Для примера были созданы файлы “scrips_1.txt” “scrips_2.txt” “scrips_3.txt” “scrips_4.txt” “scrips_5.txt”. Что бы переименовать расширение командой “rename” вводим

rename ‘s/.расширение которое имеется/.расширение которое необходимо/’ *

В нашем же случае это будет выглядеть следующим образом:

rename 's/.txt/.sh/' *

А что бы совсем удалить расширения командой “rename”, вводим

rename ‘s/\.название расширения$//’ *.название расширения:

rename 's/\.sh$//' *.sh

Заключение

Данный метод имеет свои преимущества, и важен для некоторых пользователей, безусловно, можно воспользоваться графическими утилитами для этих задач, например “Pyrenamer”. Но, как я неоднократно говорил, изучайте терминал, в нем вся сила Linux, да и для того что бы переименовать файлы, а этим я более чем уверен, вы занимаетесь не часто, ставить какой то специализированный софт не имеет смысла. В случае же с командой “Rename”, ее присутствие в системе не заметно, и она не будет мозолить вам глаза. А при необходимости вы всегда сможете выполнить необходимые операции по переименованию файлов.

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

А на этом сегодня все. Надеюсь данная статья будет вам полезна.
Журнал Cyber-X

Источник.