Android

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

Решение проблемы с кодировкой символов на сайте (UTF-8). Отображает иероглифы или знаки вопроса

Решение проблемы с кодировкой символов на сайте (UTF-8). Отображает иероглифы или знаки вопроса

Оглавление:

Anonim

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

Вот тут-то и пригодится команда rename . Он переименовывает указанные файлы, заменяя поисковое выражение в их имени указанной заменой.

В этом руководстве мы объясним, как использовать команду rename для пакетного переименования файлов.

Установка rename

Существует две версии команды rename с различным синтаксисом и функциями. Мы будем использовать Perl-версию команды rename .

Если эта версия не установлена ​​в вашей системе, используйте менеджер пакетов вашего дистрибутива Linux для ее установки:

  • Ubuntu и Debian

    sudo apt update sudo apt install rename

    CentOS и Fedora

    sudo yum install prename

    Arch Linux

    yay perl-rename

Использование rename

Ниже приведен общий синтаксис команды rename :

rename perlexpr files

Команда rename в основном представляет собой скрипт Perl. Он переименует данные files соответствии с указанным регулярным выражением perlexpr . Вы можете прочитать о регулярных выражениях Perl здесь.

Например, следующая команда изменит расширение всех файлов .css на .scss :

rename 's/.css/.scss/' *.css

Давайте объясним команду более подробно:

  • s/search_pattern/replacement/ - оператор подстановки. .css - шаблон поиска. Это первый аргумент в операторе подстановки. Команда rename будет искать этот шаблон в заданном имени файла и, если найден, заменит его аргументом замены. .scss - замена. Второй аргумент в операторе подстановки. *.css - Все файлы с расширением «.css». Подстановочный знак ( * ) - это символ, используемый для обозначения нуля, одного или нескольких символов.

Перед запуском фактической команды и переименованием файлов и каталогов всегда полезно использовать опцию -n , которая выполнит «пробный запуск» и покажет, какие файлы будут переименованы:

rename -n 's/.css/.scss/' *.css

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

rename(file-0.css, file-0.scss) rename(file-1.css, file-1.scss) rename(file-2.css, file-2.scss) rename(file-3.css, file-3.scss) rename(file-4.css, file-4.scss)

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

rename -f 's/.css/.scss/' *.css

rename -v 's/.css/.scss/' *.css

file-0.css renamed as file-0.scss file-1.css renamed as file-1.scss file-2.css renamed as file-2.scss file-3.css renamed as file-3.scss file-4.css renamed as file-4.scss

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

rename 's/\.jpe?g$/.jpg/i' *

Вывод

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

переименовать терминал