rename批量命名命令
参考:http://www.ttlsa.com/linux-command/linux-rename-command-batch-rename/ Linux下rename命令有两种版本一种是C语言版本,一种是perl语言版本 查看版本 man renmae ? 第一行出现以下内容的是perl版本 User Contributed Perl Documentation ? 第一行出现其他的或者则是C语言版本 User Commands ? PS:CentOS默认是C语言版本,Ubuntu是perl版本 C语言版本命令格式 rename from to file ? 说明 from 修改什么名字 to 修改成什么名字 file 文件名 ? 举例说明,把以下文件修改成类似html的格式 1.htm 2.htm 3.htm 4.htm 5.htm 6.htm 7.htm 8.htm 9.htm ? 命令如下,把htm修改成html 使用*.htm批量匹配文件 rename htm html *.htm ? 现在总结一下rename C语言版本所能实现的功能: 批量修改文件名,结果是每个文件会被用相同的一个字符串替换掉!也就是说,无法实现诸如循环 然后按编号重命名 perl版rename格式 rename [ -h|-m|-V ] [ -v ] [ -n ] [ -f ] [ -e|-E perlexpr]*|perlexpr [ files ] ? 注意,perl版本的rename只有两个参数,第一个参数为perl正则表达式,第二个参数为所要处理的文件 man rename帮助实例 1)有一批文件已.bak结尾,把.bak删除 rename ‘s/.bak$//‘ * ? 这个命令和sed里面的正则是一样的 . 转义 ?????? bak$ 以bak结尾 2)把所有文件名内含有大小字母的,修改为小写字母 rename ‘y/A-Z/a-z/‘ * ? 其他列子 在文件头部统一加hello rename ‘s/^/hello/‘ * ? 把htm换成html rename ‘s/htm/html/‘ * ? 在尾部加.zip rename ‘s/$/.zip/‘ * ? 规则化数字编号名,比如 1.jpg,2.jpg ..... 100.jpg,现在要使文件名全部三位即 1.jpg .... 001.jpg rename ‘s/^/00/‘ [0-9].jpg #把1-9前面加上00 rename ‘s/^/0/‘ [0-9][0-9].jpg #把10-99前面加上0 (编辑:李大同) 【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容! |