Ubuntu中利用rename批量重命名

1.简介:

通常在机器视觉的学习过程中,需要批量处理一些图片,通常会涉及到批量重命名的问题,可以利用rename命令快速实现图片的批量重命名

2.rename命令格式:

1 rename [-v] [-n] [-f] perlexpr [filenames]
2 
3 -v(verbose)打印被成功重命名的文件
4 -n(no-act)只显示将被重命名的文件,而非实际进行重命名操作
5 -f(force)覆盖已经存在的文件
6 perlexprPerl语言格式的正则表达式
7 files需要被替换的文件(比如*.c、*.h、*jpg),如果没给出文件名,将从标准输入读

注意:通常我们先使用 -n 参数对做测试,修改的结果会在终端显示,看是否重命名为你想要的效果,若达到效果,则把 -n 参数去掉,进行实际操作

3.实例讲解:

【想要把 test(1).jpg 形式改为:test_test1.jpg】

(1)去掉括号:

rename -n 's/[()]//g' *.jpg

解释:
-n直接打印结果在终端中而非实际执行
引号中是perl的正则表达式,用来匹配和替换,s代表substitution,替换的意思
[()]代表匹配[]中的内容
//两个斜杠之间是空代表替换为空的内容,相当于删除
g代表全部匹配,不加g的话默认只会匹配一个括号

效果:

可以看到是括号已经去掉了,达到了自己想要的效果,接下来把 -n 去掉,进行实际操作:

rename 's/[()]//g' *.jpg

这时候可以看到指定目录下的图片名已经更改为了:

2.接下继续修改【改为test_test1.jpg形式】:

rename -n 's/^/test_/' *.jpg

解释:
s-替换
^-在文件名称开头加字符
test_-将名称前面添加上test_

效果:

达到效果,将 -n 参数去掉,实际执行【命令及效果如图】:

4.参考资料

原文地址:https://www.cnblogs.com/ilym/p/8321161.html