Переименовать все файлы 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-файлами, датой и временем, выставлять права доступа и пр.

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

Читайте также:  Linux route remove all

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. Ссылки на эти статьи оставлю ниже.

Источник

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

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

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

Как переименовать файл в Linux с помощью mv

В Linux существует замечательная стандартная утилита mv, которая предназначена для перемещения файлов. Но по своей сути перемещение — это то же самое, что и переименование файла linux, если выполняется в одной папке. Давайте сначала рассмотрим синтаксис этой команды:

$ mv опции файл-источник файл-приемник

Теперь рассмотрим основные опции утилиты, которые могут вам понадобиться:

  • -f — заменять файл, если он уже существует;
  • -i — спрашивать, нужно ли заменять существующие файлы;
  • -n — не заменять существующие файлы;
  • -u — заменять файл только если он был изменен;
  • -v — вывести список обработанных файлов;
Читайте также:  Linux установка через интернет

Чтобы переименовать файл linux достаточно вызвать утилиту без дополнительных опций. Просто передав ей имя нужного файла и новое имя:

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

mv /home/sergiy/test/newfile /home/sergiy/test/file1

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

Переименование файлов Linux с помощью rename

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

$ rename опции ‘s/ старое_имя / новое_имя ‘ файлы

$ rename опции старое_имя новое_имя файлы

В качестве старого имени указывается регулярное выражение или часть имени которую нужно изменить, новое имя указывает на что нужно заменить. Файлы — те, которые нужно обработать, для выбора файлов можно использовать символы подставки, такие как * или ?.

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

Например, переименуем все htm файлы из текущей папки в .html:

Символ звездочки означает, что переименование файлов 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. Это графическая программа и все действия здесь выполняются в несколько щелчков мыши. Вы можете установить ее из официальных репозиториев:

Читайте также:  Linux расширить диск fdisk

sudo apt install pyrenamer

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

Вы можете удалять или добавлять символы, переводить регистр, автоматически удалять пробелы и подчеркивания. У программы есть подсказки, чтобы сделать ее еще проще:

Опытным пользователям понравится возможность pyRenamer для переименования мультимедийных файлов из их метаданных. Кроме того, вы можете переименовать один файл если это нужно. Эта утилита полностью реализует функциональность mv и remove в графическом интерфейсе.

Выводы

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

Обнаружили ошибку в тексте? Сообщите мне об этом. Выделите текст с ошибкой и нажмите Ctrl+Enter.

Источник

Переименовать все файлы 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