Bash: rename 命令学习
有时候需要批量重命名一些文件
安装
# macos
brew install rename
# 确认安装完成
rename -h
常用命令
$ rename -h
Usage:
rename [switches|transforms] [files]
Switches:
--man (read the full manual)
-0/--null (when reading from STDIN)
-f/--force or -i/--interactive (proceed or prompt when overwriting)
-g/--glob (expand "*" etc. in filenames, useful in Windows™ CMD.EXE)
-k/--backwards/--reverse-order
-l/--symlink or -L/--hardlink
-M/--use=Module
-n/--just-print/--dry-run
-N/--counter-format
-p/--mkpath/--make-dirs
--stdin/--no-stdin
-t/--sort-time
-T/--transcode=encoding
-v/--verbose
Transforms, applied sequentially:
-a/--append=str
-A/--prepend=str
-c/--lower-case
-C/--upper-case
-d/--delete=str
-D/--delete-all=str
-e/--expr=code
-P/--pipe=cmd
-s/--subst from to
-S/--subst-all from to
-x/--remove-extension
-X/--keep-extension
-z/--sanitize
--camelcase --urlesc --nows --rews --noctrl --nometa --trim (see manual)
日常用法
用法 | 命令 | 备注 |
---|---|---|
批量修改文件后缀 |
| 正则 |
去除文件后缀 |
| |
按索引方式指重命名 |
| |
删除后缀名 |
| |
使用表达式 |
|
小提示
- mac 下由于默认大小写不敏感,所以
--camelcase
会比较奇怪,所以,慎用这个选项(下面有举例) -v
可以用来显示修改的 infomation-n
可以用来 debug
$ rename --camelcase *.json
'package-lock.json' not renamed: 'Package-Lock.Json' already exists
'package.json' not renamed: 'Package.Json' already exists