- Переименование командой mv
- Переименование файла
- Как переименовать файл в Linux с помощью mv
- Переименование файлов Linux с помощью rename
- Переименование директории
- Переименование и перемещение
- Переименование командой rename
- Установка Rename
- Использование переименования
- Базовая структура команд
- Основное использование
- Подробный режим
- Пробный запуск
- Перезапись существующих файлов
- Пример переименования выражений Perl
- Изменение расширения файлов
- Замена пробелов на подчеркивание
- Показать, что именно будет переименовано, но не переименовывать
- Массовое переименование с использованием программ
Переименование командой mv
Команда mv (from move) используется для переименования или перемещения файлов и каталогов из командной строки.
Синтаксис команды mv очень прост:
source — файл(ы) или каталог для перемещения или переименования.
назначение — файл или каталог, в который следует переместить источник.
Основные параметры:
-f перезаписать существующие файлы.
-n Не перезаписывать существующие файлы.
-i — выдать запрос на перезапись существующих файлов.
-u Не перемещать уже существующие файлы, если существующие файлы новее (время модификации новее).
-v Печатать имя каждого файла перед его передачей.
Чтобы ввести имена файлов и каталогов для переименования:
- Чтобы переименовать файл с помощью команды mv, необходимо указать этот файл в качестве источника и указать новое имя файла в качестве места назначения.
- Если указан путь к файлу, каталоги должны совпадать, иначе файл будет перемещен в другой каталог.
- Если указать файл в качестве источника и путь к файлу в другом каталоге в качестве цели и указать новое имя файла, файл будет перемещен в другой каталог и переименован.
- Если источником является каталог, а назначением является новое имя этого каталога, каталог будет просто переименован. Если целевой каталог уже существует, исходный каталог будет перемещен в целевой каталог.
Переименование файла
Переименуйте файл minfil1.dat в файл minfil2.dat:
и т д minfile1.dat minfile2.dat
Переименуйте файл с указанием пути к файлу:
mv /home/pingvinus/myfile1.dat /home/pingvinus/myfile2.dat
Как переименовать файл в Linux с помощью mv
В Linux есть замечательная утилита mv по умолчанию, предназначенная для перемещения файлов. Но по своей сути перемещение — это то же самое, что и переименование файла Linux, если оно выполняется в той же папке. Во-первых, давайте посмотрим на синтаксис этой команды:
$ mvoptions исходный файл целевой файл
Теперь давайте рассмотрим основные параметры инструмента, которые могут вам понадобиться:
- -f — заменить файл, если он уже существует;
- -i — спросить, нужно ли заменить существующие файлы;
- -n — не заменять существующие файлы;
- -u — заменить файл, только если он изменился;
- -v — показать список обработанных файлов;
Чтобы переименовать файл linux, просто вызовите утилиту без дополнительных опций. Просто дайте ему имя нужного файла и новое имя:
Как видите, файл был переименован. Вы также можете использовать полный путь к файлу или переместить его в другую папку:
и т.д. /home/sergiy/test/newfile /home/sergiy/test/file1
Обратите внимание, что у вас должен быть доступ на запись к папке, в которой вы будете переименовывать файлы. Если папка принадлежит другому пользователю, вам может потребоваться запустить программу с помощью sudo. Но в этом случае лучше запускать с параметром -i, чтобы случайно ничего не удалить.
Переименование файлов Linux с помощью rename
В Linux есть еще одна команда, позволяющая переименовать файл. Это смена имени. Он специально разработан для этой задачи, поэтому поддерживает такие вещи, как массовое переименование файлов Linux и использование регулярных выражений. Синтаксис инструмента также более сложен:
$ переименовать файлы опций ‘s/old_name/new_name
Или же:
$ параметры переименования old_name new_name файлы
Поскольку указано старое имя, регулярное выражение или часть имени, которое необходимо изменить, новое имя указывает, что необходимо заменить. Файлы — это те, которые должны быть обработаны, подстановочные знаки, такие как * или ? можно использовать для выбора файлов ?.
Рассмотрим параметры инструмента:
- -v — показать список обработанных файлов;
- -n — тестовый режим, по факту никаких действий производиться не будет;
- -f — принудительно перезаписать существующие файлы;
Например, давайте переименуем все файлы htm из текущей папки в .html:
переименовать ‘s.htm/.html/’ *.htm
Или для картинок:
переименовать ‘s.jpeg/.jpg/’*
Символ звездочки означает, что файл linux будет переименован для всех файлов в папке. К регулярным выражениям можно применять дополнительные модификаторы:
- g (Global) — применяется ко всем найденным экземплярам;
- i (Регистр) — различает прописные и строчные буквы.
Модификаторы помещаются в конец регулярного выражения перед закрывающей кавычкой. Перед тем, как использовать такую конструкцию, стоит проверить ее, чтобы убедиться, что вы нигде не допустили ошибок, на помощь приходит опция -n. Давайте заменим все вхождения DSC на изображение в именах наших изображений:
переименовать -n ‘s/DSC/photo/gi’ *.jpeg
DSC, DsC и даже dsc, все варианты будут рассматриваться. Поскольку была использована опция -n, инструмент будет печатать только имена изображений, которые будут изменены.
Вы можете использовать не только обычную замену, но и полноценные регулярные выражения для переименования linux-файлов, например, изменить все имена на строчные:
переименовать в ‘y/AZ/az/’*.jpeg
Из этого примера мы видим, что даже если такой файл уже существует, по умолчанию он не будет перезаписан. Не забудьте использовать опцию -n, чтобы случайно ничего не повредить.
Переименование директории
Переименуйте каталог /home/pingvinus/mydir1 в каталог /home/pingvinus/mydir2. Хорошо, если /home/pingvinus/mydir2 не существует.
mv /home/pingvinus/mydir1 /home/pingvinus/mydir2
Если /home/pingvinus/mydir2 существует, то выполнив команду:
mv /home/pingvinus/mydir1 /home/pingvinus/mydir2
каталог mydir1 будет перемещен в каталог /home/pingvinus/mydir2. То есть mydir1 окажется в /home/pingvinus/mydir2/mydir1.
Переименование и перемещение
Если конечный файл является новым путем и именем файла, файл будет перемещен и переименован. Например, следующая команда перемещает файл minfil1.dat в каталог /home/pingvinus/dir и переименовывает его в minfil2.dat:
mv /home/pingvinus/myfile1.dat /home/pingvinus/dir/myfile2.dat
Переименование командой rename
Команда Rename используется для массового (пакетного) переименования файлов. Он позволяет заменять определенные символы или части имени файла с помощью регулярных выражений Perl.
Если в вашем дистрибутиве вдруг нет команды rename, вы можете установить ее, выполнив (выберите подходящую команду для вашего дистрибутива):
sudo apt install rename sudo yum install prename yaourt -S perl-rename
Синтаксис команды переименования:
переименовать файлы опций ‘s/old_name/new_name
old_name — это регулярное выражение или часть имени файла, которое нужно заменить на new_name.
new_name — указывает имя результирующего файла (может быть регулярным выражением).
Основные параметры:
-f перезаписать существующие файлы.
-n Напечатать список файлов для переименования и их новые имена, но не переименовывать.
-v — выводит список обработанных файлов.
Самый простой способ понять, как использовать эту команду, — это рассмотреть примеры.
Читайте также: Как легко удалить файлы в Linux
Установка Rename
Команда «Переименовать» не задана заранее. К счастью, мы можем установить его с официальных серверов пакетов любого дистрибутива Linux.
Существует две версии инструмента, каждая со своим синтаксисом и функциональностью. В этой статье мы сосредоточимся на том, что использует Perl.
В случае Debian/Ubuntu переименование доступно как «крещение» пакета. Установите пакет.
$ sudo apt update $ sudo apt install rename
Для CentOS и Fedora имя пакета отличается. Оно известно как «имя». Установите пакет.
$ sudo yum установить имя
В случае с Arch Linux имя пакета — «perl-rename». Установите пакет.
$ sudo pacman -S perl -переименовать
Использование переименования
Давайте рассмотрим различные способы использования команды переименования.
Базовая структура команд
Инструмент следует следующей структуре команд:
$ переименовать
Команда rename на самом деле является Perl-скриптом. Он работает с использованием выражения Perl. Как вы могли догадаться, для полноценного использования требуется опыт работы с регулярными выражениями Perl.
Хотя существует множество способов построения выражения Perl, следующее выражение довольно часто используется при работе с командой rename.
$с///
Основное использование
Здесь у меня есть куча фиктивных файлов, готовых к переименованию.
Следующая команда rename переименует все типы файлов из TXT в TEXT.
$ переименовать ‘s/.txt/.text/’ *.txt
Здесь целевые файлы, которые нужно переименовать, обозначаются подстановочным знаком (*).
Подробный режим
По умолчанию при изменении имени мало что отображается. Однако более подробная информация о действиях может помочь в различных сценариях, особенно когда речь идет об устранении неполадок. В подробном режиме переименование отображает дополнительную информацию о текущей задаче, чтобы лучше понять и выявить потенциальные проблемы.
Для переименования в подробном режиме добавьте флаг «-v».
$ переименовать -v ‘s/.txt/.text/’ *.txt
Пробный запуск
Когда вы запускаете новое имя, изменения становятся постоянными. Во многих ситуациях это приведет к ненужным проблемам. Чтобы предотвратить нежелательные изменения имен файлов и папок, мы можем протестировать команду с помощью тестового запуска.
Пробный запуск — это в основном тестовый запуск, который ничего не меняет с реальными файлами и папками. Однако при использовании подробного режима вывод будет выглядеть так, как если бы команда действительно выполнялась. Вот почему всегда полезно попробовать пробный прогон в подробном режиме. Перед запуском команды для присвоения имени важным файлам и папкам рекомендуется выполнить пробный запуск.
Чтобы выполнить пробный прогон, добавьте флаг «-n».
$ переименовать -v -n ‘s/.txt/.text/’ *.txt
Перезапись существующих файлов
По умолчанию переименование не перезаписывает существующие файлы. Если вы не боитесь перезаписать существующие, вы можете принудительно перезаписать новые имена с помощью флага «-f».
$ переименовать -v -f ‘s/.txt/.text/’ *.txt
Пример переименования выражений Perl
Базовая структура команды переименования очень проста. Его главная сила — включение регулярных выражений Perl. Регулярное выражение — это умный способ описать шаблон и указать действия. Для начинающих вот руководство по регулярным выражениям, использующим grep и egrep. Несмотря на использование различных инструментов, основы регулярных выражений по-прежнему применимы.
Вот краткий список некоторых распространенных выражений переименования в Perl. Обратите внимание, что это только для справки. Перед их использованием всегда выполняйте пробный запуск, чтобы убедиться, что они работают правильно.
Изменение расширения файлов
Массовое изменение расширения .html на .php для всех html-файлов.
переименовать ‘s/.html/.php/’ *.html
По умолчанию переименование не перезаписывает существующие файлы. Чтобы перезаписать существующие файлы, используйте параметр -f:
переименовать -f ‘s/.html/.php/’ *.html
Замена пробелов на подчеркивание
Замените все пробелы в именах файлов символами подчеркивания:
переименовать ‘у/ /_/’ *
Показать, что именно будет переименовано, но не переименовывать
Чтобы избежать ошибок при переименовании файлов, особенно при использовании сложных регулярных выражений, можно сначала перечислить, что нужно переименовать, но не запускать само переименование. Для этого используется опция -n.
Например, мы хотим изменить расширение файла с .jpeg на .jpg. Используйте параметр -n, чтобы перечислить только те файлы, которые будут переименованы:
переименовать -n ‘s/.jpeg$/.jpg/’ * class=»line»>
Полное описание команд mv и rename можно получить, выполнив команды в терминале:
мужчина и т д мужчина изменить имя
Массовое переименование с использованием программ
Чтобы дать несколько имен файлам, вы можете использовать программы:
- pyRenamer
- GPRename