rename命令的帮助手册
$ man rename
RENAME(1) Perl Programmers Reference Guide RENAME(1)
NAME
rename - renames multiple files
SYNOPSIS
rename [ -v ] [ -n ] [ -f ] perlexpr [ files ]
DESCRIPTION
"rename" renames the filenames supplied according to the rule specified
as the first argument. The perlexpr argument is a Perl expression
which is expected to modify the $_ string in Perl for at least some of
the filenames specified. If a given filename is not modified by the
expression, it will not be renamed. If no filenames are given on the
command line, filenames will be read via standard input.
For example, to rename all files matching "*.bak" to strip the
extension, you might say
rename 's/\.bak$//' *.bak
To translate uppercase names to lower, you'd use
rename 'y/A-Z/a-z/' *
OPTIONS
-v, --verbose
Verbose: print names of files successfully renamed.
-n, --no-act
No Action: show what files would have been renamed.
-f, --force
Force: overwrite existing files.
ENVIRONMENT
No environment variables are used.
AUTHOR
Larry Wall
SEE ALSO
mv(1), perl(1)
DIAGNOSTICS
If you give an invalid Perl expression you'll get a syntax error.
BUGS
The original "rename" did not check for the existence of target
filenames, so had to be used with care. I hope I've fixed that (Robin
Barker).
perl v5.18.2 2014-01-14 RENAME(1)
比如将文件夹下的gif文件都重新命名为jpg文件
- 先看下当前文件夹下的gif文件
$ ls
0_1319882778q11s.gif 0_1319883321nhuy.gif 0_1319883862IEGl.gif
- 使用
-v -n
确认我正则
是否正确
$ rename -v -n 's/\.gif$/\.jpg/' *.gif
0_1319882778q11s.gif renamed as 0_1319882778q11s.jpg
0_1319883321nhuy.gif renamed as 0_1319883321nhuy.jpg
0_1319883862IEGl.gif renamed as 0_1319883862IEGl.jpg
可以看到文件还未命名
$ ls
0_1319882778q11s.gif 0_1319883321nhuy.gif 0_1319883862IEGl.gif
- 无误后执行命令即可
rename 's/\.gif$/\.jpg/' *.gif
命名成功
$ ls
0_1319882778q11s.jpg 0_1319883321nhuy.jpg 0_1319883862IEGl.jpg