Переименовывать файлы в Linux

ПК и ноутбуки

Переименование командой 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
Оцените статью
Интернет на телефонах
Adblock
detector