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命令知之甚少,甚至...

Linux下批量重命名文件或文件夹(rename命令)

cp  mv 在复制、移动文件时,可单个更改文件名称 下面介绍Linux系统中另一个重命名命令 rename命令的用法。 批量创建那些规格差不多的文件名。【测试的第一步】 [root...

linux 批量修改文件名后缀名命令rename

1、批量更改目录下所有文件的后缀名。     命令格式:rename 's/\.csv/\.txt/' *        现在我当前目录R1下有60个后缀是txt的文件,我想把所有的txt文件...

Linux 上的几个命令 dd, mv, rename

第一个命令 dd ,我们平时并不常用,它常常用来在不同的设备之间传输转换数据,当时在软盘盛行的时代,这个命令确实是很有用的,我们现在可用到这个命令的地方是复制文件,生成一个文件。      第一条命令...

Linux下rename和mv命令的学习【有待继续】

刚学习linux的时候,对文件重命名首先想到的就是rename命令,但是按照在windows下对文件重命名的方式试了N多次都没有反应,在网上一搜索,发现很多人都对rename命令知之甚少,甚至有一部分...

Linux下的rename命令

Dos/Windows下,对文件改名用rename。而书上说,Linux下对文件或目录改名该用mv。我一直也是这样做的,却忽略了Linux下也有个叫rename的命令。都是rename,但功能上就有点...
  • sxlwzl
  • sxlwzl
  • 2013年08月31日 16:50
  • 428

linux 使用rename命令批量重命名文件

文件重命名,我们一般使用mv命令,但如果多个文件需要重命名,如何批量处理呢?本文将介绍linux rename命令去重命名多个文件。...
  • fdipzone
  • fdipzone
  • 2015年03月26日 18:20
  • 20208

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

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

Linux Rename命令用法

Linux rename命令文件重命名的用法汇总 时间:2014-12-09 11:27来源:系统之家作者:qipeng   Linux命令中的rename命令主要用于给文件重命名,与mv命令有些...

linux的rename命令

不同于Dos下的rename命令,linux下的rename命令功能非常强大。 #man rename NAME        rename - Rename files SYNOPS...
  • sidely
  • sidely
  • 2014年09月25日 20:17
  • 341
内容举报
返回顶部
收藏助手
不良信息举报
您举报文章:linux命令之rename
举报原因:
原因补充:

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