首頁 > 檔案與目錄管理 > mmv

mmv: 以模式移動/複製/連結多個檔案

mmv 指令是用於根據特定模式移動、複製、連結或重新命名多個檔案的工具。它支援類似正規表達式的萬用字元模式匹配,對於批次處理大量檔案非常有用。

概述

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) 模式匹配

生成的命令:

請試著組合命令。

這個 Django 應用程序是一個技術指南文檔,旨在為用戶輕鬆解釋 Linux 的各種命令。

`mmv` 執行命令。

請將上述選項組合在一起,與 AI 一同虛擬執行命令。

使用範例

透過 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 的模式語法類似於 Shell 的萬用字元。`*` 表示任何字串,`?` 表示單個字元。`from_pattern` 中的 `*` 可以在 `to_pattern` 中以 `#1`、`#2` 等數字形式引用。
  • 如果檔案名稱衝突,`mmv` 預設不會執行操作並輸出警告。可以使用 `-f` 選項忽略衝突並強制覆蓋,但請注意資料遺失的風險。
  • 為避免正規表達式和萬用字元模式被 Shell 展開,務必使用單引號 (`'`) 將模式字串括起來。

相關命令

功能上相似或經常一起使用的命令。


相同類別命令