linux命令之rename

转载 2016年08月31日 11:35:43

在linux系统中重命名文件,经常用到mv命令,批量重命名文件rename是最好的选择。

linux的rename命令有两个版本,一个是c语言版本的,一个是perl语言版本的,判断方法:
输入man rename 看到第一行是: 
RENAME(1) Linux Programmer’s Manual RENAME(1)
这个就是C语言版本的 ---我的就是C语言版本
而如果出现:
RENAME(1) Perl Programmers Reference Guide RENAME(1)
则是Perl版本的了
 
C语言版本格式:rename 原字符串 新字符串 文件名
样例1:目录test下存在两个文件:a_01、a_02,若需要将文件名中的a替换为b,其他部分保持不变,则
1) 若当前位于test目录下,则执行 
 

rename a b *

2) 若当前位于test的父目录,则执行

rename a b test/*

Perl语言版本格式:rename 's/原字符串/新字符串/' 文件名
样例2:题目如样例1,则
1) 若当前位于test目录下,则执行 

rename 's/a/b/' *

2) 若当前位于test的父目录,则执行

rename 's/a/b' test/*

rename的参数
 
rename命令的格式:
rename [ -v ] [ -n ] [ -f ] perlexpr [ files ]
 
第一个参数:被替换掉的字符串
第二个参数:替换成的字符串
第三个参数:匹配要替换的文件模式
 
例子:rename  main1.c main.c main1.c  将main1.c重命名为main.c
 
rename支持通配符
?    可替代单个字符
*    可替代多个字符
[charset]    可替代charset集中的任意单个字符
例子:文件夹中有这些文件foo1, ..., foo9, foo10, ..., foo278 

如果使用      rename foo foo0 foo?
会把foo1到foo9的文件重命名为foo01到foo09,重命名的文件只是有4个字符长度名称的文件,文件名中的foo被替换为foo0。
如果使用      rename foo foo0 foo??
foo01到foo99的所有文件都被重命名为foo001到foo099,只重命名5个字符长度名称的文件,文件名中的foo被替换为foo0。
如果使用      rename foo foo0 foo*
foo001到foo278的所有文件都被重命名为foo0001到foo0278,所有以foo开头的文件都被重命名。
如果使用      rename foo0 foo foo0[2]*
从foo0200到foo0278的所有文件都被重命名为foo200到foo278,文件名中的foo0被替换为foo。
 

rename支持正则表达式
例子:

字母的替换rename "s/AA/aa/" *  //把文件名中的AA替换成aa
修改文件的后缀rename "s//.html//.php/" *     //把.html 后缀的改成 .php后缀
批量添加文件后缀rename "s/$//.txt/" * //把所有的文件名都以txt结尾
批量删除文件名rename "s//.txt//" * //把所有以.txt结尾的文件名的.txt删掉


Linux中rename命令的用法

    刚学习linux的时候,对文件重命名首先想到的就是rename命令,但是按照在windows下对文件重命名的方式试了N多次都没有反应,在网上一搜索,发现很多人都对rename命令知之甚少,甚至...
  • simon_dong618
  • simon_dong618
  • 2007年04月27日 16:56
  • 49113

Linux中rename和mv命令用法学习修改文件名区别和总结

如何用命令修改文件名呢?在Linux下可以用rename命令,当然还可以使用mv命令,这里分享下Linux rename命令的用法。 有一部分人说Linux下没有rename命令,建议大家用mv...
  • u011068702
  • u011068702
  • 2016年08月16日 14:45
  • 2541

linux下rename命令的用法——适合大批量修改文件名

linux下rename命令的用法——适合大批量修改文件名 在看鸟哥私房菜的时候,遇到了mv这个可以修改文件名的命令。后面还有一个命令,叫rename。鸟哥让自己man帮助查询。结果自己一看,发现这...
  • liyibo373
  • liyibo373
  • 2017年05月12日 16:51
  • 1133

[原]Linux下的rename命令

原贴:http://www.linuxfly.org/post/300/ 5 [原]Linux下的rename命令 linuxing , 16:28 , 网络服务 » 虚拟机 , 评论(0) , ...
  • chinalinuxzend
  • chinalinuxzend
  • 2009年02月09日 13:25
  • 67176

linux的rename命令

不同于Dos下的rename命令,linux下的rename命令功能非常强大。 #man rename NAME       rename - Rename filesSYNOPSIS       r...
  • smartmz
  • smartmz
  • 2010年12月15日 10:04
  • 13357

linux rename命令批量修改文件名

修改文件名可以用mv命令来实现mv filename1 filename2但如果批量修改还是使用rename命令更为方便 现在我们有a b c d 四个文件增加后缀rename 's/$/\.txt...
  • u011613729
  • u011613729
  • 2016年01月04日 19:54
  • 3053

rename命令

偶尔会遇到需要重命名批量文件,最典型的例子就是数码相机的相片,在Ubuntu可以用工具Purrr或者PerfixSuffix实现该功能,但重命名批量文件并不常用,为了偶尔的一次操作,安装工具(可能通过...
  • qq_27803491
  • qq_27803491
  • 2015年12月25日 18:01
  • 2849

linux命令之rename

在linux系统中重命名文件,经常用到mv命令,批量重命名文件rename是最好的选择。 linux的rename命令有两个版本,一个是c语言版本的,一个是perl语言版本的,判断方法: 输入ma...
  • fangjun1992
  • fangjun1992
  • 2016年08月31日 11:35
  • 128

Linux命令 rename " " "" *\ *

rename " " "" *\ *这个命令是把文件名中带有的
  • mr_hou
  • mr_hou
  • 2014年10月23日 21:03
  • 254

Linux命令--rename

今天看到书上的rename函数,就想应该也有rename的命令,man了一下还真有
  • u012466767
  • u012466767
  • 2014年09月23日 15:44
  • 120
内容举报
返回顶部
收藏助手
不良信息举报
您举报文章:linux命令之rename
举报原因:
原因补充:

(最多只允许输入30个字)