mmv 命令详解

| 选择喜欢的代码风格  

A B C D E F G H I J K L M N O P Q R S T U V W X Y Z

mmv 命令安装:


-bash/zsh: mmv command not not found

# Windows (WSL2)
sudo apt-get update sudo apt-get install mmv

# Debian
apt-get install mmv

# Ubuntu
apt-get install mmv

# Kali Linux
apt-get install mmv

# Fedora
dnf install mmv

# OS X
brew install mmv

# Raspbian
apt-get install mmv

mmv 命令补充说明:


mmv 命令是 Linux / Unix 系统中一个强大的批量重命名工具,它允许用户使用通配符模式来匹配和替换文件名,非常适合对大量文件进行有规则的重命名或移动操作,例如把 img_001.jpg 重命名为 photo_001.jpeg,比 mv 配合 for 循环更简洁高效,通过 # 引用匹配到的部分实现灵活重命名

mmv 会根据指定的操作(移动、复制或链接),将每个匹配“源模式”的源文件按“目标模式”指定的名称进行转移。此多重操作会安全执行,即确保不会因目标名称与现有文件名或其他目标名称冲突而导致任何意外文件删除。此外,在执行任何操作之前,mmv 会尝试检测指定操作集可能引发的所有错误,并允许用户选择是跳过问题部分继续执行,还是中止操作。mmv 支持处理大文件(LFS),但不支持稀疏文件(即会将其转换为普通文件)

较旧版本的 mmv 支持以交互方式编辑重命名等操作,但其采用的系统不够稳定,无法处理文件名中的某些字符(例如空格)。需要此功能的用户可以使用 qmv 及同类工具(它们包含在 renameutils 软件包中)。

mmv 命令语法:


mmv [-m|-x|-r|-c|-o|-a|-l|-s] [-h] [-d|-p] [-g|-t] [-v|-n] FROM TO

# FROM 模式是一个 shell 通配符模式,
# 其中 `*` 代表任意数量的字符,`?` 代表单个字符。
# 在 TO 模式中使用 `#[l|u]N` 可以获取与 FROM 模式第 N 个通配符匹配的字符串(小写/大写)。

mmv 命令选项:


--help Print help and exit

-V, --version
  Print version and exit

-h, --hidden
  treat dot files normally  (default=off)

-D, --makedirs
  create non-existent directories  (default=off)

-m, --move
  move source file to target name

-x, --copydel
  copy source to target, then delete source

-r, --rename
  rename source to target in same directory

-c, --copy
  copy source to target, preserving source permissions

-o, --overwrite
  overwrite target with source, preserving target permissions

-l, --hardlink
  link target name to source file

-s, --symlink
  symlink target name to source file

-d, --force
  perform file deletes and overwrites without confirmation

-p, --protect
  treat file deletes and overwrites as errors

-g, --go
  skip any erroneous actions

-t, --terminate
  erroneous actions are treated as errors

-v, --verbose
  report all actions performed

-n, --dryrun
  only report which actions would be performed

在 MySQL 中查询 JSON 字段中的数组值,有几种方法可以找到部门包含 "X20" 的人员:

mmv - The Task Options:


The Task Options

Whether mmv moves, copies, or links is governed by the first set of
options given above.  If none of these are specified, the task is given
by the command name under which mmv was invoked:

   command name   default task

   mmv            --copydel
   mcp            --copy
   mln            --hardlink

mmv 命令实例:


mmv 命令将所有具有特定扩展名的文件重命名为其他扩展名:

mmv "*.old_extension" "#1.new_extension"

mmv 将 `report6part4.txt` 以及所有同名文件复制到 `./french/rapport6partie4.txt`::

mmv -c "report*part*.txt" "./french/rapport#1partie#2.txt"

mmv 将所有 `.txt` 文件合并到一个文件中

mmv -a "*.txt" "all.txt"

mmv 将当前目录下所有文件中首次出现的 abc 替换为 xyz

mmv '*abc*' '#1xyz#2'

mmv 将当前目录中的音乐文件从:
<曲目编号> - <解释器> - <歌曲标题>.ogg


重命名为:
<解释器> - <曲目编号> - <歌曲标题>.ogg

mmv '* - * - *.ogg' '#2 - #1 - #3.ogg'

mmv 将文件名中的日期格式从 M-D-Y 转换为 D-M-Y 格式:

mmv "[0-1][0-9]-[0-3][0-9]-[0-9][0-9][0-9][0-9].txt" "#3#4-#1#2-#5#6#7#8.txt"

mmv 命令扩展阅读:


 

CommandNotFound ⚡️ 坑否 - 其他频道扩展阅读:




mmv 命令评论

共收录到 549Linux 命令