Linux переименовать несколько файлов одновременно

Содержание
  1. Три способа массового переименования файлов в Linux
  2. 1️⃣ Использование проводника файлов
  3. 2️⃣ Использование программы KRename
  4. 3️⃣ Использование команды rename
  5. 🏁 Подведем итоги
  6. 6 способов переименования нескольких файлов сразу в Linux
  7. Переименование нескольких файлов сразу в Linux
  8. Метод 1 – Использование mmv
  9. Способ 2. Использование утилиты rename
  10. You may also like
  11. 📜 Чтение файла построчно на Bash
  12. 📧 В чем разница между IMAP и POP3
  13. ✔️ Как управлять контейнерами LXD от имени обычного.
  14. 📜 Руководство для начинающих по созданию первого пакета.
  15. Феноменальная популярность электроники Xiaomi: основные причины
  16. 📜 Получение вчерашней даты в Bash: Практическое руководство
  17. Использование специальных гелей при мышечных болях
  18. 🐧 Сравнение команд Printf и Echo на Linux
  19. 📦 Как расширить/увеличить файловую систему VxFS на Linux
  20. Услуги по размещению серверного оборудования в ЦОД
  21. Leave a Comment Cancel Reply
  22. • Свежие записи
  23. • Категории
  24. • Теги
  25. • itsecforu.ru
  26. • Страны посетителей
  27. IT is good
  28. Linux переименовать несколько файлов одновременно

Три способа массового переименования файлов в Linux

Представим, что перед нами n-ое количество файлов, имеющих разные имена, которые необходимо враз переименовать по некоему шаблону, чтобы в последующем использовать каким-либо образом.

У меня есть 20 файлов, имеющих различные имена, которые нужно переименовать во что-то навроде file1, file2, file3. fileN. Расскажу ниже про три способа того, как это сделать в Linux.

1️⃣ Использование проводника файлов

Вполне ожидаемо, можно воспользоваться файловым менеджером, который позволяет осуществить массовое переименование в пару кликов мыши. В моем примере используется менеджер Dolphin, так как в качестве среды рабочего окружения стоит KDE Plasma, но думаю, что примерно так же это все будет работать в любом другом файловом менеджере (пользователи других DE, в случае чего, поправят в комментариях).

Выделяем все файлы, кликаем по ним ПКМ и в контекстном меню выбираем пункт «Переименовать» или нажимаем клавишу F2. В открывшемся окне выбираем новое имя, порядковый номер, с которого будет происходить нумерация, и жмем одноименную кнопку «Переименовать».

Как видим, способ простой донельзя и работает в любом дистрибутиве Linux со средой графического окружения. Ожидаемо, просто, понятно. Идем дальше!

2️⃣ Использование программы KRename

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

sudo pacman -S krename

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

Казалось бы, формат работы Krename не отличается от того, что делает файловый менеджер, да вдобавок и количество действий в первом способе меньше. Но дьявол, как известно, кроется в мелочах. Krename это полноценный комбайн для переименования всего и вся — в нее встроены не только гибкие настройки для того, чтобы задать итоговое имя файлов, но и различные модули, позволяющие осуществить транслитерацию имен, отдельно работать с музыкальными или PDF-файлами, датой и временем, выставлять права доступа и пр.

Читайте также:  Linux поддержка русского языка

Поэтому, если надобность в массовоем переименовании файлов возникает у вас постоянно, то могу смело рекомендовать Krename к использованию.

3️⃣ Использование команды rename

Этот способ уж совсем экзотический, но обойтись без терминала просто-напросто нельзя. Утилита rename не всегда поставляется в дистрибутивы Linux сразу после установки, потому ее нужно установить дополнительно. К тому же, в различных дистрибутивах название утилиты разное, например в Archlinux оно звучит, как perl-rename, потому и устанавливается соответствующей строкой в терминале:

sudo pacman -S perl-rename

После установки открываем терминал, переходим в директорию, где хранятся файлы для переименования и вводим команду:

perl-rename ‘s/.*/»file».++$i.».txt»/e’ *.txt

После нажатия кнопки Enter все файлы в формате TXT будут переименованы согласно указанному шаблону.

Повторюсь, что способ подойдет далеко не всем, но тем не менее, он есть, а значит им можно пользоваться.

🏁 Подведем итоги

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

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

Когда-то на канале выходил цикл статей, посвященных работе с файлами и папками в Linux. Ссылки на эти статьи оставлю ниже.

Источник

6 способов переименования нескольких файлов сразу в Linux

Как вы уже знаете, мы используем команду mv для переименования или перемещения файлов и каталогов в Unix-подобных операционных системах.

Но команда mv не будет поддерживать переименование нескольких файлов одновременно.

Она может переименовывать только один файл за раз.

Доступно несколько других утилит, особенно для пакетного переименования файлов.

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

Все примеры, представленные здесь, тестируются в Ubuntu 18.04 LTS, однако они должны работать на любых операционных системах Linux.

Переименование нескольких файлов сразу в Linux

Может быть много команд и утилит для переименования группы файлов.

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

Метод 1 – Использование mmv

Утилита mmv используется для перемещения, копирования, добавления и переименования файлов в массовом порядке с использованием стандартных подстановочных знаков в Unix-подобных операционных системах.

Она доступна в репозиториях по умолчанию систем на базе Debian.

Чтобы установить его на Debian, Ubuntu, Linux Mint, выполните следующую команду:

Скажем, у вас есть следующие файлы в вашем текущем каталоге.

$ ls a1.txt a2.txt a3.txt

Теперь вы захотите переименовать все файлы, начинающиеся с буквы «a» на «b».

Конечно, вы можете сделать это вручную через несколько секунд.

Но подумайте, есть ли у вас сотни файлов и хотите их все переименовать?

Это довольно трудоемкий процесс. Здесь команда mmv приходит в помощь.

Чтобы переименовать все файлы, начиная с буквы «a» до «b», просто запустите:

Читайте также:  Клонирование линукс на меньший диск

Давайте проверим, были ли файлы переименованы или нет.

$ ls b1.txt b2.txt b3.txt

Как вы можете видеть, все файлы начинаются с буквы «a» (т.е. a1.txt, a2.txt, a3.txt), переименовываются в b1.txt, b2.txt, b3.txt.

Вы даже можете переименовать все файлы с определенным расширением на другое расширение.

Например, чтобы переименовать все .txt-файлы в формат .doc в текущем каталоге, просто запустите:

Вот еще один пример. Скажем, у вас есть следующие файлы.

$ ls abcd1.txt abcd2.txt abcd3.txt

Вы хотите заменить первое abc на xyz во всех файлах в текущем каталоге. Как бы вы поступили?

Обратите внимание, что в приведенном выше примере я включил шаблоны в одинарные кавычки.

Давайте проверим, действительно ли «abc» заменено на «xyz» или нет.

$ ls xyzd1.txt xyzd2.txt xyzd3.txt

Файлы abcd1.txt, abcd2.txt и abcd3.txt были переименованы в xyzd1.txt, xyzd2.txt и xyzd3.txt.

Еще одна заметная особенность команды mmv – вы можете просто посмотреть вывод вместо переименования файлов с помощью опции -n, как показано ниже.

$ mmv -n a\* b\#1 a1.txt -> b1.txt a2.txt -> b2.txt a3.txt -> b3.txt

Таким образом, вы можете просто проверить, что действительно сделала команда mmv, прежде чем переименовывать файлы.

Для получения дополнительной информации см. Справочные страницы.

Способ 2. Использование утилиты rename

Утилита rename переименовывает данные файлы, заменяя первое выражение в их имени заменой.

Команда rename устанавливается в большинстве Unix-подобных операционных систем.

Если он по умолчанию недоступен, выполните следующую команду, чтобы установить его в системах на базе Debian:

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

$ ls abcd1.txt abcd2.txt abcd3.txt

Заменим первое abc на xyz, где бы оно ни находилось. Для этого запустите:

Теперь проверьте, были ли сделаны изменения с помощью команды ls.

$ ls xyzd1.txt xyzd2.txt xyzd3.txt

Иногда вы можете просто вывести выходные данные вместо переименования файлов.

Если это так, используйте флаг -n для отображения тех переименований, которые будут выполняться без их выполнения:

$ rename -n 's/abc/xyz/' * rename(abcd1.txt, xyzd1.txt) rename(abcd2.txt, xyzd2.txt) rename(abcd3.txt, xyzd3.txt)

Как вы можете видеть, приведенная выше команда не вносила никаких изменений, а просто отображает имена переименованных файлов.

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

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

Чтобы преобразовать все имена файлов в нижний регистр:

Давайте проверим, были ли внесены изменения.

$ ls ABCD1.TXT ABCD2.TXT ABCD3.TXT

Да, буквы в именах файлов были изменены с нижнего регистра на верхний регистр.

Аналогично, чтобы преобразовать имена файлов в нижний регистр, выполните:

Мы также можем удалить все пустые ячейки в имени файла.

Например, у меня есть следующий файл.

$ ls Clouds of Sunset.mp3

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

Теперь имя файла не имеет пробелов.

$ ls CloudsofSunset.mp3

Заменить пробелы символами подчеркивания:

Возможно, вы захотите изменить расширение файла, но не переименовать имена файлов.

Следующая команда переименовала бы все * .txt-файлы в * .doc.

Проверьте изменения с помощью команды ls:

$ ls abcd1.doc abcd2.doc abcd3.doc

Чтобы удалить расширение во всех файлах, соответствующих .txt, запустите:

Читайте также:  Uefi iso образ linux

Для получения дополнительной информации см. Справочные страницы.

itisgood
Установка бета-версии «RHEL 8» со скриншотами
Как установить add-apt-repository на Debian 9 / Ubuntu 18.04 / 16.04

You may also like

📜 Чтение файла построчно на Bash

📧 В чем разница между IMAP и POP3

✔️ Как управлять контейнерами LXD от имени обычного.

📜 Руководство для начинающих по созданию первого пакета.

Феноменальная популярность электроники Xiaomi: основные причины

📜 Получение вчерашней даты в Bash: Практическое руководство

Использование специальных гелей при мышечных болях

🐧 Сравнение команд Printf и Echo на Linux

📦 Как расширить/увеличить файловую систему VxFS на Linux

Услуги по размещению серверного оборудования в ЦОД

Leave a Comment Cancel Reply

• Свежие записи

• Категории

• Теги

• itsecforu.ru

• Страны посетителей

IT is good

В этой статье вы узнаете, как удалить удаленный Git-репозиторий. Процесс прост, но его полезно запомнить, чтобы избежать неожиданностей в будущем. Git – это…

В 11-й версии своей операционной системы Microsoft серьезно переработала интерфейс и убрала несколько привычных функций. Нововведения не всем пришлись по душе. Мы дадим…

Продажа ноутбука нередко становится хлопотным занятием. Кроме поиска покупателя, продавцу необходимо подготовить устройство перед проведением сделки. Но если последовательно выполнить все шаги, ничего…

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

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

Источник

Linux переименовать несколько файлов одновременно

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

Утилита rename входит в стандартную поставку Debian, так что начнем с нее.

rename [ -v ] [ -n ] [ -f ] perlexpr [ files ]

-v отобразить имена успешно переименованных файлов.

-n отобразить список файлов, которые будут переименованы, без переименования в итерации.

-f перезаписать уже существующие файлы.

perlexpr — шаблон для переименования.

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

Рассмотрим perlexr подробнее:

s=указывает, что требуется замещение.

/.sh/=Строка, которую будем замещать.

/.sh.bak/ = строка, на которую будем замещать

g=global, будем замещать все найденные вхождения.

С помощью rename можно быстро изменить регистр файлов. Например поднимем регистр файлов из примера:

mmv — программа для массового перемещения, переименования, копирования, объединения файлов.

По умолчанию она не включена в состав Debian. Поставим ее:

Наша задача решается одной строкой:

Теперь решим нашу задачу стандартной командой mv. Для этого нам прийдется немного попрограммировать в bash.

for i in *.sh;
do mv $i `basename $i sh`sh.bak;
done

Попробуем усложить задачу. Например у нас есть куча файлов JPG:

1234234.jpg
e456567657.jpg
234df34.jpg

Мы хотим привести их к следующему виду:

file1.jpg
file2.jpg
file3.jpg

j=0;
for i in *.jpg;
do let j+=1;
mv $i file$j.jpg ;
done

В любимом многими mc, процесс переименования по маске выполняется просто и непринужденно в два действия.

1. Через + выбираем файлы по маске *.sh

2. Нажимаем F6 и в destination указываем *.sh.bak

Все примеры, приведенные выше, так или иначе работают во всех Linux, BSD, Mac OS, если стоят соответствующие утилиты.

Источник

Оцените статью
Adblock
detector