массовое переименование файлов linux

KRename: пакетное переименование файлов в Linux

Давненько не было ликбезов по возможностям программ GNU/Linux. В этой статье рассмотрим утилиту KRename, при помощи которой можно делать массовые переименования файлов через удобный графический интерфейс.

Время менять имена

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

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

Например, обычно в составе любой системы GNU/Linux всегда входит консольная утилита rename, которая обладает гибкими возможностями по переименованию файлов при помощи регулярных выражений (регэкспов). Для пакетного переименования файлов часто также используют ещё одну консольную утилиту mmv, которая работает на основе шаблонов. С другой стороны, чтобы этой мощью воспользоваться, нужно уметь работать с регулярными выражениями и текстовыми шаблонами.

Осваиваем KRename

Следует сказать, что KRename зависит от библиотек KDE и при установке будет требовать установить эти библиотеки в качестве зависимостей. Что можно даже рассматривать как некоторое неудобство для тех пользователей, которые не используют KDE и не любят «засорять» систему «инородными» компонентами.

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

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

массовое переименование файлов linux

После запуска KRename первым шагом, само собой, является выбор файлов. Делается это во вкладке Files, где нужно выбрать соответствующий каталог с файлами. После чего, если нужно, при помощи кнопок «Добавить», «Удалить» отсортировать список файлов. При помощи списка «Сортировка» можно упорядочить список файлов по возрастанию, убыванию, дате в символьном или числовом значении.

массовое переименование файлов linux

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

массовое переименование файлов linux

На третьей вкладке Plugins находится список различных плагинов, при помощи которых можно определять многие параметры, необходимые для переименования. Например, при помощи этих плагинов можно осуществлять переименование согласно exif-информации в фотографиях или же тэгов в аудиофайлах. Некоторые плагины не активированы, и их нужно включить, выбрав плагин из правого списка и поставив галочку напротив чекбокса «Enable plugin».

массовое переименование файлов linux

Для более сложных переименований файлов служит вкладка расширенного режима «Advanced Filename». Здесь для переименования создаётся текстовой шаблон в поле «Шаблон». Причём шаблон создаётся автоматически при выборе параметров в обеих вкладках. То есть, выбирая суффикс и префикс в соответствующих выпадающих списках, текстовой шаблон будет создаваться программой автоматически. Если пользователь знает основы регулярных выражений, шаблон можно редактировать вручную.

массовое переименование файлов linux

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

Для примера, допустим нам надо переименовать файлы фотографий с именами вроде IMG_20120720_123812 к более понятному виду. Вместо «IMG» мы хотим подставить, например, строку «Море», дату оставить, а номера типа 123812 преобразовать к более простым цифрам.

Все действия над именами файлов тут же будут отображаться в нижнем окне программы. Также можно посмотреть получившийся шаблон замены во вкладке «Advanced Filename». В случае нашего примера шаблон будет выглядеть так: Море_[creationdate]_#0. Этот шаблон можно и подредактировать при желании. После чего остаётся только нажать кнопку «переименовать».

Источник

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

массовое переименование файлов 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.

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

Это также возможно.

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

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

Источник

Массовое переименование файлов в Linux.

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

Offtop. Переименовать один файл в Linux: mv имя-файла1 имя-файла2

Итак, допустим у нас есть несколько файлов:

Файлы sh мы хотим переименовать в sh.bak. Рассмотрим варианты:

Rename

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

Midnight Commander

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

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

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

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

Источник

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

массовое переименование файлов linux

Переименование файлов в Linux можно выполнять средствами графических программ, а также через командную строку. Можно переименовать один файл, а можно сразу группу файлов — массовое переименование. Рассмотрим различные способы, с помощью которых можно переименовывать файлы в Linux.

Переименование командой mv

Команда mv (от слова move) используется для переименования или перемещения файлов и директорий из командной строки.

Синтаксис команды mv очень простой:

Основные опции:
-f — перезаписывать существующие файлы.
-n — не перезаписывать существующие файлы.
-i — выдавать запрос на перезапись существующих файлов.
-u — не перемещать файлы, которые уже существуют, если существующие файлы новее (время модификации новее).
-v — выводить имя каждого файла перед его переносом.

Как задавать имена файлов и директорий для переименования:

Переименование файла

Переименование файла myfile1.dat в файл myfile2.dat:

Переименование файла с указанием пути до файла:

Переименование директории

Если /home/pingvinus/mydir2 существует, то, выполнив команду:

Переименование и перемещение

Если в качестве файла назначения указан новый путь и новое имя файла, то файл будет перемещен и переименован. Например, следующая команда перемещает файл myfile1.dat в директорию /home/pingvinus/dir и переименовывает его в myfile2.dat :

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

Команда rename служит для массового (пакетного) переименования файлов. Она позволяет выполнять замену определенных символов или частей имени файла и использованием Perl-регулярных выражений.

Синтаксис команды rename :

Основные опции:
-f — перезаписывать существующие файлы.
-n — вывести список файлов, которые будут переименованы и их новые имена, но не выполнять переименование.
-v — вывести список обработанных файлов.

Проще всего понять, как пользоваться данной командой, на примерах.

Изменение расширения файлов

Замена пробелов на подчеркивание

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

Конвертация имен файлов в строчные буквы

Конвертация имен файлов в прописные буквы

Показать, что именно будет переименовано, но не переименовывать

Полное описание команд mv и rename можно получить, выполнив в терминале команды:

Массовое переименование с использованием программ

Для массового переименования файлов можно воспользоваться программами:

Источник

Массовое переименование файлов linux

массовое переименование файлов linux

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

Rename

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

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

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

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

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

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

# rename ‘s/.sh/.sh.bak/g’ *.sh

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

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

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

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

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

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

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

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

# apt-get install mmv

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

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

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

1234234.jpg
e456567657.jpg
234df34.jpg

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

file1.jpg
file2.jpg
file3.jpg

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

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

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

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

Источник

Добавить комментарий

Ваш адрес email не будет опубликован. Обязательные поля помечены *