- Команда для переименования Rename в Linux (Переименовать несколько файлов)
- Rename Command in Linux (Rename Multiple Files)
- В этом руководстве мы объясним, как использовать rename команду для пакетного переименования файлов.
- Установка rename
- С помощью rename
- rename Примеры
- Заменить пробелы в именах файлов подчеркиванием
- Преобразование имен файлов в нижний регистр
- Преобразовать имена файлов в верхний регистр
- Удалить .bak из имен файлов
- Переименовать .jpeg и .JPG имена файлов в .jpg
- Вывод
- Как одновременно переименовать несколько файлов в Linux
- Команда rename в Linux
- Сценарий 1: заменить символ другим во всех именах файлов в Linux
- Сценарий 2. Изменение расширений нескольких файлов одновременно в Linux
- 6 способов переименования нескольких файлов сразу в Linux
- Переименование нескольких файлов сразу в Linux
- Метод 1 – Использование mmv
- Способ 2. Использование утилиты rename
- Как переименовать файл Linux
- Как переименовать файл в Linux с помощью mv
- Переименование файлов Linux с помощью rename
- Переименование файлов в pyRenamer
- Выводы
Команда для переименования Rename в Linux (Переименовать несколько файлов)
Rename Command in Linux (Rename Multiple Files)
В этом руководстве мы объясним, как использовать rename команду для пакетного переименования файлов.
Переименование нескольких файлов и каталогов с помощью mv команды может быть утомительным процессом, поскольку включает в себя написание сложных команд с конвейерами, циклами и так далее.
Здесь rename команда пригодится. Он переименовывает указанные файлы, заменяя поисковое выражение в их имени указанной заменой.
Установка rename
Существует две версии rename команды с разным синтаксисом и функциями. Мы будем использовать версию команды Perl rename .
Если эта версия не установлена в вашей системе, используйте менеджер пакетов вашего дистрибутива Linux для ее установки:
Ubuntu и Debian
CentOS и Fedora
Arch Linux
С помощью rename
Ниже приведен общий синтаксис rename команды:
Например, следующая команда изменит расширение всех .css файлов на .scss :
Давайте объясним команду более подробно:
- s/search_pattern/replacement/ — оператор замещения.
- .css — Шаблон поиска. Это первый аргумент в операторе подстановки. Команда rename будет искать этот шаблон в заданном имени файла и, если найден, заменит его аргументом замены.
- .scss — Замена. Второй аргумент в операторе подстановки.
- *.css — Все файлы с расширением «.css». Подстановочный * знак ( ) — это символ, используемый для обозначения нуля, одного или нескольких символов.
Перед выполнением команды и переименованием файлов и каталогов всегда полезно использовать -n параметр, который будет выполнять «пробный запуск» и показывать, какие файлы будут переименованы:
Вывод будет выглядеть примерно так:
По умолчанию rename команда не перезаписывает существующие файлы. Используйте -f опцию, которая говорит rename перезаписать существующие файлы:
Если вы хотите rename напечатать имена файлов, которые были успешно переименованы, используйте параметр -v (подробный):
rename Примеры
Ниже приведены несколько общих примеров использования команды переименования:
Заменить пробелы в именах файлов подчеркиванием
Преобразование имен файлов в нижний регистр
Преобразовать имена файлов в верхний регистр
Удалить .bak из имен файлов
Переименовать .jpeg и .JPG имена файлов в .jpg
Вывод
Команда rename позволяет вам переименовывать несколько файлов одновременно, используя регулярные выражения Perl.
Источник
Как одновременно переименовать несколько файлов в Linux
Главное меню » Операционная система Linux » Как одновременно переименовать несколько файлов в Linux
Мы предполагаем, что вы уже знаете, как переименовать файлы в Linux с помощью команды mv. Вы просто используете его в формате:
В этом методе нет ничего плохого. Это стандартный способ в конце концов.
Но как насчет ситуации, когда вам нужно переименовать несколько файлов. Использование команды mv один за другим займет много времени, и этого, безусловно, следует избегать.
Вы можете использовать параметр команды find exec с командой mv для автоматизации этого процесса. Но позвольте нам рассказать вам еще более простой способ переименования файлов на основе шаблона регулярных выражений.
Команда rename в Linux
Существует утилита командной строки под названием rename, которая позволяет вам переименовывать все файлы, которые соответствуют определенному шаблону в форме регулярного выражения Perl. Команда rename работает только с именем файла, а не с самим файлом.
Это синтаксическая команда переименования:
Команда rename имеет следующие параметры:
- -v: подробный режим.
- -n: никаких действий Показать файлы, которые будут переименованы, но не переименовывать файлы.
- -о: нет перезаписи. Не перезаписывайте существующие файлы.
- -f: сила. Перезаписать существующие файлы.
- -s: не переименовывать символическую ссылку, но ее цель
Обратите внимание, что команда rename не является стандартной утилитой, предварительно установленной в дистрибутивах Linux, таких как команда mv или cp . Возможно, вам придется установить ее. Если вы пользователь sudo в Ubuntu или Debian, вы можете использовать эту команду для установки переименования:
Теперь вам должно быть интересно, как переименовать файлы с помощью команды rename. Позвольте нам показать два практических сценария, в которых эта команда сэкономит вам много времени.
Сценарий 1: заменить символ другим во всех именах файлов в Linux
Представьте, если у вас есть пробелы в нескольких именах файлов. Это кошмар для обработки пробелов в именах файлов в Linux. Вот почему ни один опытный пользователь никогда не называет файл с пробелами в нем.
Естественно, вы хотите удалить пробелы и заменить их подчеркиванием (_). Команда переименования будет очень удобна здесь. Посмотрим как.
Чтобы заменить пробелы символами подчеркивания в именах всех файлов в текущем каталоге, все, что вам нужно сделать, это использовать команду renam следующим образом:
Если вы даже отдаленно знакомы с регулярными выражениями , вы поймете, что s / / _ / g ищет пространство и заменяет все вхождения пространства на _.
Интересная часть – звездочка (*). Звездочка говорит вам переименовать соответствующие файлы в текущем каталоге.
Но что, если вы хотите переименовать все соответствующие файлы в подкаталогах? В этом случае вы можете использовать две звездочки, как это:
Сценарий 2. Изменение расширений нескольких файлов одновременно в Linux
Вот еще один сценарий для вас. У вас есть несколько файлов с именами, такими как my_file.xyz, и вы хотите переименовать эти файлы, чтобы они стали чем-то вроде my_file.abc.
Чтобы изменить расширения нескольких файлов одновременно, вы можете использовать команду переименования следующим образом:
Позвольте нам объяснить вам вышеуказанную команду.
‘s / .xyz $ /. abc /’: это регулярное выражение, которое означает замену символа .xyz в конце строки на .abc.
** означает поиск в текущем каталоге и его подкаталогах.
Вам понравилась команда rename?
Не многие люди знают о команде rename. Это также может быть связано с тем, что переименование не является командой defacto во многих системах Linux.
Тем не менее, мы находим эту команду довольно удобной при одновременном переименовании нескольких файлов.
Как насчет вас? Вы использовали команду rename в прошлом? Как вы предпочитаете переименовывать несколько файлов одновременно?
Если вы нашли ошибку, пожалуйста, выделите фрагмент текста и нажмите Ctrl+Enter.
Источник
6 способов переименования нескольких файлов сразу в Linux
Как вы уже знаете, мы используем команду mv для переименования или перемещения файлов и каталогов в Unix-подобных операционных системах.
Но команда mv не будет поддерживать переименование нескольких файлов одновременно.
Она может переименовывать только один файл за раз.
Доступно несколько других утилит, особенно для пакетного переименования файлов.
В этом уроке мы научимся переименовывать несколько файлов одновременно в шести разных методах.
Все примеры, представленные здесь, тестируются в Ubuntu 18.04 LTS, однако они должны работать на любых операционных системах Linux.
Переименование нескольких файлов сразу в Linux
Может быть много команд и утилит для переименования группы файлов.
Я буду продолжать обновлять список, если буду сталкиваться с любым методом в будущем.
Метод 1 – Использование mmv
Утилита mmv используется для перемещения, копирования, добавления и переименования файлов в массовом порядке с использованием стандартных подстановочных знаков в Unix-подобных операционных системах.
Она доступна в репозиториях по умолчанию систем на базе Debian.
Чтобы установить его на Debian, Ubuntu, Linux Mint, выполните следующую команду:
Скажем, у вас есть следующие файлы в вашем текущем каталоге.
Теперь вы захотите переименовать все файлы, начинающиеся с буквы «a» на «b».
Конечно, вы можете сделать это вручную через несколько секунд.
Но подумайте, есть ли у вас сотни файлов и хотите их все переименовать?
Это довольно трудоемкий процесс. Здесь команда mmv приходит в помощь.
Чтобы переименовать все файлы, начиная с буквы «a» до «b», просто запустите:
Давайте проверим, были ли файлы переименованы или нет.
Как вы можете видеть, все файлы начинаются с буквы «a» (т.е. a1.txt, a2.txt, a3.txt), переименовываются в b1.txt, b2.txt, b3.txt.
Вы даже можете переименовать все файлы с определенным расширением на другое расширение.
Например, чтобы переименовать все .txt-файлы в формат .doc в текущем каталоге, просто запустите:
Вот еще один пример. Скажем, у вас есть следующие файлы.
Вы хотите заменить первое abc на xyz во всех файлах в текущем каталоге. Как бы вы поступили?
Обратите внимание, что в приведенном выше примере я включил шаблоны в одинарные кавычки.
Давайте проверим, действительно ли «abc» заменено на «xyz» или нет.
Файлы abcd1.txt, abcd2.txt и abcd3.txt были переименованы в xyzd1.txt, xyzd2.txt и xyzd3.txt.
Еще одна заметная особенность команды mmv – вы можете просто посмотреть вывод вместо переименования файлов с помощью опции -n, как показано ниже.
Таким образом, вы можете просто проверить, что действительно сделала команда mmv, прежде чем переименовывать файлы.
Для получения дополнительной информации см. Справочные страницы.
Способ 2. Использование утилиты rename
Утилита rename переименовывает данные файлы, заменяя первое выражение в их имени заменой.
Команда rename устанавливается в большинстве Unix-подобных операционных систем.
Если он по умолчанию недоступен, выполните следующую команду, чтобы установить его в системах на базе Debian:
Например, у меня есть следующие файлы в текущем каталоге.
Заменим первое abc на xyz, где бы оно ни находилось. Для этого запустите:
Теперь проверьте, были ли сделаны изменения с помощью команды ls.
Иногда вы можете просто вывести выходные данные вместо переименования файлов.
Если это так, используйте флаг -n для отображения тех переименований, которые будут выполняться без их выполнения:
Как вы можете видеть, приведенная выше команда не вносила никаких изменений, а просто отображает имена переименованных файлов.
Вы можете принудительно переименовать задачу, даже если операция будет перезаписывать существующие файлы с использованием флага -f, как показано ниже.
Если вы не хотите перезаписывать файлы, вы можете просто преобразовать их в заглавные или строчные буквы (и наоборот), чтобы предотвратить «уже существующие» ошибки.
Чтобы преобразовать все имена файлов в нижний регистр:
Давайте проверим, были ли внесены изменения.
Да, буквы в именах файлов были изменены с нижнего регистра на верхний регистр.
Аналогично, чтобы преобразовать имена файлов в нижний регистр, выполните:
Мы также можем удалить все пустые ячейки в имени файла.
Например, у меня есть следующий файл.
Чтобы удалить все пробелы в указанном выше имени файла, запустите:
Теперь имя файла не имеет пробелов.
Заменить пробелы символами подчеркивания:
Возможно, вы захотите изменить расширение файла, но не переименовать имена файлов.
Это также возможно.
Следующая команда переименовала бы все * .txt-файлы в * .doc.
Проверьте изменения с помощью команды ls:
Чтобы удалить расширение во всех файлах, соответствующих .txt, запустите:
Для получения дополнительной информации см. Справочные страницы.
Источник
Как переименовать файл Linux
Переименование файла linux — очень простая операция, но для новичков в Linux эта задача может оказаться сложной. Также здесь есть несколько нюансов и возможностей, которые желательно знать уже опытным пользователям, например, массовое переименование. В графическом интерфейсе все делается очень просто, но настоящую гибкость дает терминал.
В этой статье мы рассмотрим как переименовать файл в Linux с помощью терминала, рассмотрим такие возможности, как массовое пакетное переименование файлов, а также регулярные выражения.
Как переименовать файл в Linux с помощью mv
В Linux существует замечательная стандартная утилита mv, которая предназначена для перемещения файлов. Но по своей сути перемещение — это то же самое, что и переименование файла linux, если выполняется в одной папке. Давайте сначала рассмотрим синтаксис этой команды:
$ mv опции файл-источник файл-приемник
Теперь рассмотрим основные опции утилиты, которые могут вам понадобиться:
- -f — заменять файл, если он уже существует;
- -i — спрашивать, нужно ли заменять существующие файлы;
- -n — не заменять существующие файлы;
- -u — заменять файл только если он был изменен;
- -v — вывести список обработанных файлов;
Чтобы переименовать файл linux достаточно вызвать утилиту без дополнительных опций. Просто передав ей имя нужного файла и новое имя:
mv file newfile
Как видите, файл был переименован. Вы также можете использовать полный путь к файлу или переместить его в другую папку:
mv /home/sergiy/test/newfile /home/sergiy/test/file1
Обратите внимание, что у вас должны быть права на запись в ту папку, в которой вы собираетесь переименовывать файлы. Если папка принадлежит другому пользователю, возможно, нужно будет запускать программу через sudo. Но в таком случае лучше запускать с опцией -i, чтобы случайно ничего не удалить.
Переименование файлов Linux с помощью rename
В Linux есть еще одна команда, которая позволяет переименовать файл. Это rename. Она специально разработана для этой задачи, поэтому поддерживает такие вещи, как массовое переименование файлов linux и использование регулярных выражений. Синтаксис утилиты тоже сложнее:
$ rename опции ‘s/ старое_имя / новое_имя ‘ файлы
$ rename опции старое_имя новое_имя файлы
В качестве старого имени указывается регулярное выражение или часть имени которую нужно изменить, новое имя указывает на что нужно заменить. Файлы — те, которые нужно обработать, для выбора файлов можно использовать символы подставки, такие как * или ?.
Рассмотрим опции утилиты:
- -v — вывести список обработанных файлов;
- -n — тестовый режим, на самом деле никакие действия выполнены не будут;
- -f — принудительно перезаписывать существующие файлы;
Например, переименуем все htm файлы из текущей папки в .html:
rename ‘s\.htm/\.html/’ *.htm
Или для изображений:
Символ звездочки означает, что переименование файлов linux будет выполнено для всех файлов в папке. В регулярных выражениях могут применяться дополнительные модификаторы:
- g (Global) — применять ко всем найденным вхождениям;
- i (Case Censitive) — не учитывать регистр.
Модификаторы размещаются в конце регулярного выражения, перед закрывающей кавычкой. Перед тем, как использовать такую конструкцию, желательно ее проверить, чтобы убедиться, что вы не допустили нигде ошибок, тут на помощь приходит опция -n. Заменим все вхождения DSC на photo в именах наших фотографий:
rename -n ‘s/DSC/photo/gi’ *.jpeg
Будут обработаны DSC, DsC и даже dsc, все варианты. Поскольку использовалась опция -n, то утилита только выведет имена изображений, которые будут изменены.
Можно использовать не только обычную замену, но и полноценные регулярные выражения чтобы выполнить пакетное переименование файлов linux, например, переделаем все имена в нижний регистр:
Из этого примера мы видим, что даже если такой файл уже существует, то он перезаписан по умолчанию не будет. Не забывайте использовать опцию -n чтобы ничего случайно не повредить.
Переименование файлов в pyRenamer
Если вы не любите использовать терминал, но вам нужно массовое переименование файлов Linux, то вам понравится утилита pyrenamer. Это графическая программа и все действия здесь выполняются в несколько щелчков мыши. Вы можете установить ее из официальных репозиториев:
sudo apt install pyrenamer
В окне программы вы можете видеть дерево файловой системы, центральную часть окна, где отображаются файлы, которые будут изменены, а также панель для указания параметров переименования.
Вы можете удалять или добавлять символы, переводить регистр, автоматически удалять пробелы и подчеркивания. У программы есть подсказки, чтобы сделать ее еще проще:
Опытным пользователям понравится возможность pyRenamer для переименования мультимедийных файлов из их метаданных. Кроме того, вы можете переименовать один файл если это нужно. Эта утилита полностью реализует функциональность mv и remove в графическом интерфейсе.
Выводы
В этой статье мы рассмотрели как переименовать файл в консоли linux. Конечно, есть и другие способы, например, написать скрипт, или использовать файловые менеджеры. А как вы выполняете сложные операции по переименованию? Напишите в комментариях!
Источник