我还有其他重命名命令问题。
我有以下格式的文件:
Gauge50.jpg
Gauge51.jpg
DigitalGauge_01.jpg
DigitalGauge_02.jpg
etc.
我想做的是以 Gauge50 为目标并将其转换为 DigitalGauge_50.jpg 等。
然而,一些简单的事情,比如:
rename 's/Gauge/DigitalGauge_/' *.jpg
会导致其他已经正确格式的文件变成:
DigitalDigitalGauge__01.jpg
DigitalDigitalGauge__02.jpg
那么如何使用重命名来仅定位 Gauge## 格式? (字符-数字-数字)?谢谢!
这rename
命令是通过安装的自制在 Mac 上。输出rename -v
:
rename -v
Usage:
rename [switches|transforms] [files]
Switches:
-0/--null (when reading from STDIN)
-f/--force or -i/--interactive (proceed or prompt when overwriting)
Wide character in print at /System/Library/Perl/5.18/Pod/Text.pm line 286.
-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)
答案1
一旦我发布了这个问题 - 就会弹出一个相关的问题来帮助我回答。
使用的格式是:
rename 's/Gauge([0-9])/DigitalGauge_$1/' *.jpg
这将完成我需要它做的事情。
答案2
另一种方法是仅限制对Gauge*
文件的重命名,并保留简单的模式:
rename 's/Gauge/DigitalGauge_/' Gauge*.jpg