Ubuntu中rename命令和批量重命名

直接在终端中输入rename+[Enter]可以看到该命令的格式: 早期版本的rename是C语言版本,如今新的Ubuntu中采用的都是perl版本,功能更加强大

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

常用的参数是-n,可以先用-n参数对一部小部分图片进行测试,每次执行命令会在terminal中把效果列出来,等确保没问题后去掉-n参数,再对全部数据进行统一处理。

此次应用是为了批量重命名一批图片文件(自己的图片数据,作为caffe训练和测试数据使用) 本来全部都是这种格式:

(1).jpg (2).jpg …..

要改为:

test_001.jpg test_002.jpg ……

用了比较笨的办法:先把括号去掉,再统一改格式(假定图片文件存放在terminal打开的当前目录位置) 1、去掉括号

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

此处的效果类似,,是将文件名中的下划线以及数字3,看图中效果应该就明白了:

2、继续重命名为想要的格式

rename -n ‘s/^/test_/’ *.jpg解释:s-替换^-在文件名称开头加字符test_-将名称前面添加上test_

效果如下:

更详细的rename命令参考:

真正的强者,不是流泪的人,而是含泪奔跑的人。

Ubuntu中rename命令和批量重命名

相关文章:

你感兴趣的文章:

标签云: