linux下批量修改文件名之rename

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文件

  1. 先看下当前文件夹下的gif文件
$ ls
0_1319882778q11s.gif  0_1319883321nhuy.gif  0_1319883862IEGl.gif
  1. 使用-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
  1. 无误后执行命令即可
rename 's/\.gif$/\.jpg/' *.gif

命名成功

$ ls
0_1319882778q11s.jpg  0_1319883321nhuy.jpg  0_1319883862IEGl.jpg

猜你喜欢

转载自blog.csdn.net/QWE123ZXCZ/article/details/84644086