Linux重命名

一、简单的单文件重命名


mv source_file_name  target_file_name


二、支持批量重命名的,即通配符

rename 

from : http://hi.baidu.com/yuhongchun027/item/89f9dd0ea35875143a53eee3

刚学习linux的时候,对文件重命名首先想到的就是rename命令,但是按照在windows下对文件重命名的方式试了N多次都没有反应,在网上一搜索,发现很多人都对rename命令知之甚少,甚至有一部分人说linux下没有rename命令,建议大家用mv命令。鉴于此,于是man rename一下,好好的研究了一下它的用法 ,在此对rename命令和mv命令在重命名文件方面做一个比较,有不足之处,希望各位博友指正!

首先来说一下mv命令,在man mv中我们可以看到对于mv命令的介绍是这样的:

mv -move(rename) files

可以看到mv命令确实有重命名的功能,但是实际应用中,它只能对单个文件重命名,命令如下:

mv [path/]oldfilename [path/]newfilename

“mv命令只能对单个文件重命名”,这实就是mv命令和rename命令的在重命名方面的根本区别。

再来说rename命令,在man rename的说明中可以看出rename命令是专用于文件重命名的,而且根据其后的例子可以看出,rename除了给单个文件重命名,还可以批量文件重命名。同时,值得注意一点的是,rename命令是带3个参数而不是很多人认为的2个参数.

上面的例子中给出了两种文件批量重命名的用法,而实际上,rename结合通配符使用,它的功能比上面的例子所显示的更强大,这个大家可在实际工作中熟悉使用,下面说下它的基础用法:

rename 批量修改文件名语法: rename from to file

该命令的各选项含义如下:

from 源字符。to 目标字符。file 要改名的文件  rename .rm .rmvb * // 把所有文件的后辍由rm改为rmvb

rename 'tr/A-Z/a-z/' *// 把所有文件名中的大写改为小写


3、rename的版本

from : http://blog.csdn.net/zgl_dm/article/details/6627411

Linux 下的 rename 命令有两个版本:

  • C语言版本
  • 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/*

样例3:若改用脚本,可如下:

[html]  view plain copy
  1. find -name "a*" -print |  
  2. while read name; do  
  3.     echo $name  
  4.     rename 's/a/b/' $name  
  5. done  

www.blog.csdn.net/zgl_dm 如需转载,请标明出处。
最后,该如何判断rename是哪个版本,可通过 man rename 查看。若第一行为 RENAME(1) Linux Programmer’s Manual RENAME(1),则是 C语言版本的,若出现 RENAME(1)              Perl Programmers Reference Guide              RENAME(1)则为 Perl 版本的。


评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值