你的位置:首页 > 网海拾贝

linux使用rename命令批量重命名文件

2014-02-21 浏览:(6060) 网海拾贝 评论(0)

命令格式:

Usage: rename [-v] [-n] [-f] perlexpr [filenames]

参数说明:

v 显示文件重命名的细节

n 不执行重命名,但会模拟执行重命名,并显示会出现的情况,例如是否会有同名文件冲突等。在重命名前测试很有用。

f 强制覆盖同名文件

例子1:显示重命名细节

使用touch命令创建3个txt文件,使用rename命令批量将所有后缀为txt重命名为log

touch a.txt 

touch b.txt 

touch c.txt 

rename -v 's/.txt/.log/' *.txt 

v 参数作用,显示文件重命名细节

fdipzone@ubuntu:~$ rename -v 's/.txt/.log/' *.txt 

a.txt renamed as a.log 

b.txt renamed as b.log 

c.txt renamed as c.log 

例子2:测试重命名是否遇到同名

touch a.txt 

touch b.txt 

touch c.txt 

touch a.log 

touch b.log 

rename -n 's/.txt/.log/' *.txt 

n 参数作用,不执行重命名,但会显示如果执行重命名会出现的同名情况

fdipzone@ubuntu:~$ rename -n 's/.txt/.log/' *.txt 

a.txt not renamed: a.log already exists 

b.txt not renamed: b.log already exists 

c.txt renamed as c.log 

例子3:强制覆盖同名文件

touch a.txt 

touch b.txt 

touch a.log 

touch b.log 

rename -f 's/.txt/.log/' *.txt 

如果使用 v 参数,会因为同名文件存在而重命名失败

fdipzone@ubuntu:~$ rename -v 's/.txt/.log/' *.txt 

a.txt not renamed: a.log already exists 

b.txt not renamed: b.log already exists 

f 参数作用,强制覆盖同名文件

fdipzone@ubuntu:~$ rename -fv 's/.txt/.log/' *.txt 

a.txt renamed as a.log 

b.txt renamed as b.log 

执行后,a.txt与b.txt重命名为a.log与b.log,覆盖原来的a.log与b.log

  • 发表评论
  • 查看评论
【暂无评论!】

发表评论:

◎欢迎参与讨论,请在这里发表您的看法、交流您的观点。