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

Linux Rename Files Featured

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

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

Также читайте: Как копировать и вставлять текст, файлы и папки в терминале Linux

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

Простой способ переименовать файлы в Linux — это команда mv (сокращение от “move”). Ее основное назначение — перемещение файлов и папок, но она также может их переименовывать, так как действие переименования файла интерпретируется файловой системой как перемещение его с одного имени на другое.

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

mv(option) filename1.ext filename2.ext

“filename1.ext” — это оригинальное имя файла, а “filename2.ext” — новое имя.

linux-rename-files-mv

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

mv/home/user/Files/filename1.ext /home/user/Files/filename2.ext

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

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

Использование команды “rename”

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

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

В Debian-подобных Linux введите это в своем терминале:

sudo apt install rename

В Arch-подобных Linux:

sudo pacman -S rename

Синтаксис rename выглядит так:

rename (option)'s/oldname/newname/' file1.ext file24.ext

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

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

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

rename 's/.jpeg/.jpg/'*

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

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

rename -n's/DSC/photo/gi'*.jpg

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

Замена — не единственное, что может сделать это регулярное выражение. Существует также перевод — обозначенный буквой “y” — который может трансформировать имена файлов на более сложном уровне. Чаще всего он используется для изменения регистра имени файла:

rename 'y/a-z/A-Z/'*.jpg

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

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

Также читайте: Как исправить ошибку “Нет места на устройстве” в Linux

Métamorphose2

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

Чтобы начать, перейдите на его сайт и скачайте файл установщика для вашего дистрибутива. Он предоставляет deb файл для Debian-подобного дистрибутива и RPM пакет для Fedora, Mandriva и SUSE.

После запуска приложения вы окажетесь на первой вкладке “Picker”. Здесь вы выбираете директорию, содержащую файлы, которые хотите переименовать пакетно. Обратите внимание, что он поддерживает только одну директорию для каждой операции переименования, хотя может рекурсивно проходить через дочерние папки в выбранной директории.

linux-rename-files-metamorphose-picker

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

linux-rename-files-metamorphose-renamer

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

Также читайте: Как использовать команду lp в Linux для печати файлов из терминала

pyRenamer – легкий выход

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

sudo apt install pyrenamer

linux-rename-files-pyrenamer

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

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

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

linux-rename-files-pyrenamer3

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

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

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