linux 批量重名名
Linux Shell 批量重命名的方法总览
1、删除所有的 .bak 后缀:
2、把 .jpe 文件后缀修改为 .jpg:
3、把所有文件的文件名改为小写:
4、将 abcd.jpg 重命名为 abcd_efg.jpg:
5、将 abcd_efg.jpg 重命名为 abcd_lmn.jpg:
6、把文件名中所有小写字母改为大写字母:
7、把格式 *_?.jpg 的文件改为 *_0?.jpg:
8、把文件名的前三个字母变为 vzomik:
9、把文件名的后四个字母变为 vzomik:
rename相关命令:mv
rename 用于 对文件进行命名管理,可进行批量命名并支持正则表达式, rename命令存在两个版本用法上有所区别 一个是 C语言版本支持通配符,另一个是 Perl版本.支持正则表达式
参数
-n *** 作预览,在不更改文件名称情况下,显示执行后的结果
-f强制执行
【常用通配符说明】
?表示一个任意字符
*表示一个或一串任意字符
-------------------------------------------------
【常用正则表达式符号说明】
^匹配输入的开始位置
$匹配输入的结尾
.匹配除换行符外的任意字符
+匹配前一个字符一次或多次 例如,"zo+"可以匹配"zoo",但不匹配"z"
[a-z]表示某个范围内的字符,例如,"[a-z]"匹配"a"与"z"之间的任何一个小写字母字符。
[^m-z]否定的字符区间。与不在指定区间内的字符匹配。
最后更新 2013-05-17 10:41:4
[root@localhost www]# rename 's/$/\.^abc/' /home/www/def #给www目录下的abc 更改为def 仅共参考。
网站上传的500多张图片后发现需要区分缩略图,大图,中图。但是之前上传的没有区分,无奈之下只能省事的办法了,总不能一张一张的修改吧。写一段bash,使用mv命令达到批量重命名的目的。例子:我现在要把aaaaaaaaaaaaa.jpg重命名为aaaaaaaaaaaaa_MED.jpg请使用如下命令:for i in *.jpgdo mv "$i" "${i%.jpg}_MED.jpg" done同理aaaaaaaaaaaaa_MED.jpg重命名为aaaaaaaaaaaaa_LRG.jpg的方法:for i in *.jpgdo mv "$i" "${i%_MED.jpg}_LRG.jpg" done欢迎分享,转载请注明来源:内存溢出
评论列表(0条)