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

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

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

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

Переименование файлов с помощью команды "mv"

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

Для переименования файлов с помощью mv используется следующий синтаксис:

"Filename1.ext" - это исходное, "старое" имя файла, а "filename2.ext" - новое имя.

Linux-переименовать файлы-MV

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

Обратите внимание, что команде mv требуется разрешение на запись для папки, содержащей файлы. В случае системных файлов и папок пользователю необходимо получить права суперпользователя для переименования файлов, добавив к mv sudo или su. Дополнительный уровень защиты обеспечивается параметром -i (интерактивный), который просит пользователя подтвердить переименование файла перед его фактическим применением.

Также имеется параметр -v (подробный), в котором перечислены все изменения, внесенные mv. Параметры записываются после mv, но перед именами файлов.

Используя команду "переименовать"

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

Синтаксис rename выглядит следующим образом:

Буква "s" означает "заменить", и это основная часть регулярного выражения. Заключение в одинарные кавычки обязательны. Доступные варианты:

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

Команда rename также принимает подстановочные знаки для переименования нескольких файлов одного типа и работает с расширениями файлов. Например, это изменит все файлы с расширением .jpeg на .jpg:

Подстановочный знак (*) означает, что затронуты все файлы в папке.

Регулярное выражение также имеет свои собственные параметры (модификаторы): "g" (глобальный; влияет на все вхождения выражения) и "i" (выполняет подстановку без учета регистра). Они пишутся в конце выражения непосредственно перед закрывающей одинарной кавычкой и могут быть объединены:

Это применимо ко всем файлам .jpg, содержащим "DSC", "dSC" и "dsc" - измените эту часть имени файла на "фото". Однако из-за опции "-n" команда фактически не переименовывала файлы, а просто печатала их в окне консоли.

Подстановка - не единственное, что может делать это регулярное выражение. Также есть перевод, отмеченный буквой "y", который может преобразовывать имена файлов на более сложном уровне. Чаще всего используется для изменения регистра имени файла:

Это изменит имена всех файлов .jpg с нижнего на верхний регистр. Чтобы сделать это наоборот, просто поменяйте местами "старое имя" и "новое имя" в регулярном выражении.

Использование команды rename сводится к смешиванию нескольких основных шаблонов для достижения желаемого результата. Благодаря опции -n пользователям никогда не придется подвергать свои файлы риску (или ставить на карту свои нервы), поскольку он предлагает безопасный и полезный предварительный просмотр того, как будут выглядеть переименованные файлы.

Метаморфозы2

Métamorphose - это кроссплатформенный инструмент для массового переименования файлов и папок. Для тех, кто предпочитает инструмент с графическим интерфейсом для выполнения операций переименования, Métamorphose - довольно мощный инструмент. Он доступен как для Windows, так и для Linux.

Для начала перейдите на его веб-сайт и загрузите установочный файл для своего дистрибутива. Он предоставляет файл deb для дистрибутива на основе Debian и пакет RPM для Fedora, Mandriva и SUSE. Он также доступен в AUR в Arch Linux.

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

Linux-переименовать-файлы-метаморфоза-сборщик

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

Linux-переименовать-файлы-метаморфоза-переименовать

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

PyRenamer - легкий выход

Наконец, решение, которого ждали все пользователи анти-консолей: настольное приложение, в котором все можно сделать простым щелчком мыши. pyRenamer - это безумно мощный инструмент для переименования файлов, написанный на Python. На данный момент официальный веб-сайт, похоже, не работает, но пользователи Ubuntu и его производных все еще могут установить pyRenamer из репозиториев, используя команду:

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

Linux-переименовать файлы-pyrenamer

Интерфейс состоит из четырех частей:

  1. просмотрщик файлов в виде дерева для выбора файлов и папок
  2. центральная панель предварительного просмотра, показывающая имена файлов до и после переименования
  3. область управления с вкладками для выбора критериев переименования
  4. Боковая панель "Параметры"

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

Linux-переименовать файлы-pyrenamer3

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

По сути, pyRenamer объединяет функциональные возможности команд mv и remove в удобный графический интерфейс. Это отличный выбор для тех, кто не уверен в своих навыках командной строки.

Если вы хотите возиться с вашей системой Linux, возможно, стоит обратить ваше внимание на наше руководство по трансляции экрана Android в Linux? Или, возможно, мы сможем вместо этого показать вам , как сбросить пароль root в Linux.

10 комментариев

  1. Привет,

    Спасибо за советы, особенно за переход от нижнего регистра к прописному.

    Я знаю метаморфозы, лично использую переименование для массового переименования.

    Только мои 2центы.

    Очень полезная статья!

  2. Почему не упоминается "mmv" - утилита командной строки "массовое переименование файлов и прочее"?

  3. метаморфоза больше не поддерживается, фактически амортизируется.


    Да, но это мощный и эффективный инструмент, и он все еще работает, поэтому мы включили его в список.

  4. Небольшая опечатка в примере - переименовать "s.jpeg / .jpg /" * следует читать переименовать "s / .jpeg / .jpg /" *

  5. `rename (option)‘ s / oldname / newname ’file1.ext file24.ext` должно быть` rename (option) ‘s / oldname / newname /’ file1.ext file24.ext` (вы пропустили косую черту в конце)


    Спасибо за ответ. Фиксированный.

  6. Меня немного смущает команда переименования. Я могу заставить его работать, только если использую подстановочный знак. Когда я пытаюсь использовать: rename ‘s / oldname / newname /’ file1.txt file2.txt, он ничего не делает. то же самое, если я просто сделаю: переименуйте "s / oldname / newname /"

    Единственный способ заставить его работать - это переименовать s / oldname / newname / *

    Я не пытаюсь жаловаться. Он по-прежнему делает то, что мне нужно. Я просто не понимаю, почему это не работает без подстановочного знака.

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

    Используя следующее:

    rename –version
    - "переименовать из util-linux 2.23.2"

    Единственный формат, который работал для переименования файлов, был следующий:
    переименовать [option] ‘OldFileName’ ‘NewFileName’ *

    Пример: переименовать -v ‘.html’ ‘.cshtml’ *

    Надеюсь, это будет полезно для кого-то еще, потому что с первого взгляда не совсем понятно, почему команда не работает.

  8. Я хотел бы предложить pyrenamer для тех, кто ищет такую ​​утилиту в Linux. Это просто и делает то, что вам нужно. Я использую его с L. Mint.

    Но с другим дистрибутивом, который у меня есть (MX), мне нравится встроенный переименователь Thunar, он не требует дополнительного программного обеспечения. Так просто и приятно использовать ... Я бы хотел, чтобы другие файловые менеджеры (например, Nemo) тоже имели такую ​​функцию ...

Комментарии закрыты.