1 .使用1.rename命令批量修改文件名。 实际上,在linux中可以用其他方法批量修改文件名,但rename非常方便
例如,将所有表从cdb1_*修改为cdb_*
在此目录下
# rename 'cdb1' 'cdb' *
我以前是写for循环做的。 想想看。 多么愚蠢啊。 啊啊
rename有更多的功能,所以推荐在man rename下
from :3358 www.Hao 32.com/UNIX-Linux/42.html
2 .批量重命名rename
通过man rename命令,可以看到rename命令实际上是Perl脚本命令
这用于批量重命名多个文件。
命令格式:
rename [-v ] [-n ] [-f ] perl expr [ files ]
Perlexpr是perl脚本格式的正则表达式。
参数:
-v,--verbose
verbose : printnamesoffilessuccessfullyrenamed。
详细模式:打印成功修改的文件名列表
-n,--no-act
无操作: showwhatfileswouldhavebeenrenamed。
测试模式:并不实际执行命令,而是只是表示应该如何执行哪个文件名
更改,用于测试模式。
-f,--force
force : overwriteexistingfiles。
强制模式:变更文件名,如果变更后的文件已经存在,则重写已经存在
请参阅。
rename 的典型应用:
http://www.Sina.com/http://www.Sina.com /
$ ls
1.txt 2.txt 3.txt 4.txt
$ rename 's//.txt//.ext/' *
$ ls
1.ext 2.ext 3.ext 4.ext
0.
$ ls
1.txt 2.txt 3.txt 4.txt
$ rename 's//.txt//' *
$ ls
1 2 3 4
批量更改文件扩展名
$ ls
1 2 3 4
$ rename 's/$//.txt/' *
$ ls
1.txt 2.txt 3.txt 4.txt
1. 批量删除文件扩展名
$ ls
1.ext 2.ext 3.ext 4.ext
$rename's/(/d ) /第$1章/) *
$ ls
第一章. ext第二章. ext第三章. ext第四章. ext
3.
方法1 )对文件名进行拆分处理,文件名find-name ' *.log '-printf % f//n|awk-f '.' { print $1} '|xargs-I { } mv.LV 重命名测试“xiyun”“*.log”可以替换文件名字符串的一部分,因为ubuntu的重命名命令支持正则表达式。 方法直接利用find、xargs和mv,中途不用awk。 这样只能添加扩展名,不能更改文件名。
from :3358 blog.chinaunix.net/u/22583/showart _ 1964649.html