Обзор
mmv — это сокращение от 'mass move', утилита, предназначенная для одновременной обработки нескольких файлов. В отличие от `mv`, которая в основном используется для перемещения/переименования отдельных файлов, mmv использует шаблоны с подстановочными знаками, такие как `*.jpeg`, для определения исходного набора файлов и преобразования их в новый шаблон для создания целевого набора файлов. В частности, в то время как `rename` сосредоточен на функции переименования, `mmv` имеет преимущество в интеграции функций копирования (`cp`), создания ссылок (`ln`) и перемещения (`mv`).
Основные особенности
Основные особенности команды mmv:
- Пакетная обработка нескольких файлов с использованием шаблонов с подстановочными знаками.
- Предоставляет интегрированные функции для перемещения (`mv`), копирования (`cp`), создания ссылок (`ln`) и переименования файлов.
- Аналогична `rename`, но имеет более широкий функционал и интуитивно понятна в использовании.
- Выводит предупреждающее сообщение при возникновении конфликтов, предотвращая ошибки.
Различия между mmv и rename
mmv и rename используются для пакетного изменения имен файлов, но имеют различия в работе.
- mmv: Использует подстановочные знаки (`*`, `?`, `[ ]`) для определения шаблонов и перестраивает захваченные части с помощью чисел (#1, #2). Также предоставляет функции копирования/перемещения/создания ссылок.
- rename: Специализируется на переименовании с использованием регулярных выражений Perl (`s/pattern/replacement/`).
Основные опции
Команда mmv позволяет управлять детальным поведением через методы обработки файлов и опции.
1) Опции обработки файлов
2) Сопоставление шаблонов
Сгенерированная команда:
Комбинируйте команды.
Описание:
`mmv` Запускает команду.
Комбинируйте эти опции, чтобы виртуально выполнять команды с помощью ИИ.
Примеры использования
Изучите функциональность команды mmv с помощью различных примеров использования.
Изменение расширения файла
mmv '*.jpeg' '#1.jpg'
Изменяет все расширения `.jpeg` на `.jpg` в текущей директории.
Добавление префикса к имени файла
mmv '*.txt' 'doc_#1.txt'
Добавляет префикс `doc_` ко всем файлам `.txt`.
Перемещение в директорию
mmv '*.log' '/var/log/#1.log'
Перемещает все файлы `.log` из текущей директории в директорию `/var/log`.
Изменение регистра
mmv '*.*' '#l1.#l2'
Изменяет регистр букв в именах файлов с верхнего на нижний.
Предварительный просмотр результата изменений
mmv -n '*.bak' '#1.old'
Проверяет результат изменения расширения `.bak` на `.old` без фактического изменения файлов.
Установка
mmv не входит в стандартную поставку большинства дистрибутивов Linux, поэтому его необходимо установить с помощью следующих команд.
Debian/Ubuntu
sudo apt update
sudo apt install -y mmv
RHEL/CentOS/Fedora
sudo dnf install -y mmv
Arch Linux
sudo pacman -S mmv
Советы и примечания
Здесь собраны важные моменты, на которые следует обратить внимание при использовании команды mmv.
Советы
- Синтаксис шаблонов mmv аналогичен подстановочным знакам оболочки. `*` означает любую строку, `?` — один символ. `*` в `from_pattern` можно ссылаться как `#1`, `#2` и т.д. в `to_pattern`.
- В случае конфликта имен файлов `mmv` по умолчанию не выполняет операцию и выводит предупреждение. Вы можете использовать опцию `-f` для игнорирования конфликтов и принудительной перезаписи, но будьте осторожны, чтобы не потерять данные.
- Чтобы предотвратить расширение регулярных выражений и шаблонов с подстановочными знаками оболочкой, обязательно заключайте строки шаблонов в одинарные кавычки (`'`).