转载:http://blog.csdn.net/sea_shore/article/details/6102437

1.rename命令批量修改文件名, 其实linux下可以使用别的办法来批量修改文件名, 不过rename实在太方便了

比如把所有的表为cdb1_* 修改为cdb_*的
在本目录下
只需要# rename 'cdb1' 'cdb' *

以前都是写个for循环来做...想想多傻啊, 呵呵

rename还有更多的功能, 建议man rename下

From:http://www.hao32.com/unix-linux/42.html

2.批量更改文件名 rename

通过 man rename 命令可以得知,rename 命令其实是一个 Perl 脚本命令,
它专用于批量地给多文件重命名(rename multiple files)。

命令格式: 
rename [ -v ] [ -n ] [ -f ] perlexpr [ files ] 
perlexpr 是一种 Perl 脚本格式的正则表达式。
参数:
-v, --verbose 
Verbose: print names of files successfully renamed.
详细模式:打印成功更改的文件名列表
-n, --no-act 
No Action: show what files would have been renamed.
测试模式:并不真正的执行命令,而只是显示哪些文件名应该怎么进行
更改,用于测试模式。
-f, --force 
Force: overwrite existing files.
强制模式:在更改文件名,如果更改后的文件已经存在时覆盖已经存在
的文件。

rename 的典型应用:

0. 批量更改文件扩展名 
$ ls 
1.txt 2.txt 3.txt 4.txt 
$ rename 's//.txt//.ext/' * 
$ ls 
1.ext 2.ext 3.ext 4.ext 
1. 批量删除文件扩展名 
$ ls 
1.txt 2.txt 3.txt 4.txt 
$ rename 's//.txt//' * 
$ ls 
1 2 3 4 
2. 批量添加文件扩展名 
   $ ls 
1 2 3 4 
$ rename 's/$//.txt/' * 
$ ls 
1.txt 2.txt 3.txt 4.txt 
3. 按自己的方式批量重命名文件 
$ ls 
1.ext 2.ext 3.ext 4.ext 
$ rename 's/(/d)/第$1 章/' * 
$ ls 
第 1 章.ext 第 2 章.ext 第 3 章.ext 第 4 章.ext

3.

方法1:把文件名拆分处理,可以任意修改文件名
find -name '*.log' -printf %f//n|awk -F'.' '{print $1}'|xargs -i{} mv {}.log xiyun_{}.log
 
方法2:利用rename
一般的linux下的rename命令比较简单
rename 'test' 'xiyun' '*.log'
 
把文件名中的某部分字符串替换掉
ubuntu下的rename命令支持正则表达式,因此功能更强大。
 
方法3:直接利用find和xargs和mv,中间不用awk,这样只能添加后缀名,不能修改文件名。
 

Linux rename命令的更多相关文章

  1. linux rename命令批量修改文件名

    修改文件名可以用mv命令来实现 mv filename1 filename2 1 但如果批量修改还是使用rename命令更为方便 现在我们有a b c d 四个文件 增加后缀 rename 's/$/ ...

  2. mac linux rename命令行批量修改文件名

    我的mac使用命令行批量修改名字时发现居然没有rename的指令: zsh: command not found: rename 所以使用HomeBrew先安装一下: ➜ ~ brew install ...

  3. 【转】 Linux Shell 命令--rename

    重命名文件,经常用到mv命令,批量重命名文件rename是最好的选择,Linux的rename 命令有两个版本,一个是C语言版本的,一个是Perl语言版本的,判断方法:输入man rename 看到第 ...

  4. Linux Shell 命令--rename

    重命名文件,经常用到mv命令,批量重命名文件rename是最好的选择,Linux的rename 命令有两个版本,一个是C语言版本的,一个是Perl语言版本的,判断方法:输入man rename 看到第 ...

  5. Linux下的rename命令

    Dos/Windows下,对文件改名用rename.而书上说,Linux下对文件或目录改名该用mv.我一直也是这样做的,却忽略了Linux下也有个叫rename的命令.都是rename,但功能上就有点 ...

  6. Linux下重命名文件或文件夹(mv命令与rename命令)

    在Linux下重命名文件或目录,可以使用mv命令或rename命令 mv ———————————— mv命令既可以重命名,又可以移动文件或文件夹. 例子:将目录A重命名为B mv A B 例子:将/a ...

  7. [Linux] Linux中重命名文件和文件夹的方法(mv命令和rename命令)

    原文链接 在Linux下重命名文件或目录,可以使用mv命令或rename命令,这里分享下二者的使用方法. mv命令既可以重命名,又可以移动文件或文件夹. 例子:将目录A重命名为B mv A B 例子: ...

  8. Linux 批量改名之 rename 命令

    刚学习到 rename 命令功能很强大,比win 下的 ren 厉害啊 具体看 man rename 语法:  rename [ -h|-m|-V ] [ -v ] [ -n ] [ -f ] [ - ...

  9. Linux批量修改(删除)文件名某些字符(rename命令)

    假设在路径C:/下存在多个类似以下的文件名 file_nall_abc1.txt file_nall_abc2.txt file_nall_abc3.txt file_nall_abc4.txt fi ...

随机推荐

  1. java虚拟机参数设置

    -Xms8000M  初始化的堆大小   -Xmx8000M  堆的最大值 -XX:+HeapDumpOnOutOfMemoryError 堆溢出时Dump出当前内存堆转储快照以便事后分析 -XX:P ...

  2. Java多线程之线程结束清理

    该事例说明了清理工作必须要放在finally块中 package Thread.Interrupting; import java.util.concurrent.TimeUnit; class Ne ...

  3. SQL Server 2008 建立分区表 脚本

    /*第一步:创建分区函数*/Create partition function Part_func_Bag(varchar(20)) as range right /*正式区间for values(N ...

  4. Python标准库03 路径与文件 (os.path包, glob包)

    作者:Vamei 出处:http://www.cnblogs.com/vamei 欢迎转载,也请保留这段声明.谢谢! 路径与文件的简介请参看Linux文件系统 os.path包 os.path包主要是 ...

  5. Android开发者需要面对的8大挑战

    移动开发变得越来越受欢迎,但移动开发者正面临着一系列挑战.本文将介绍的是Android开发者需要面对的8个不利因素,例如缺乏硬件标准化,以及软件碎片.为Android OS开发app,给予了开发人员极 ...

  6. arm-linux-objcopy

    被用来复制一个目标文件的内容到另一个文件中,可用于不同源文件的之间的格式转换示例: arm-linux-objcopy –O binary –S file.elf file.bin 常用的选项(大写) ...

  7. springmvc对请求执行流程

    doService-->getHandlerMapping-->handlerMapping-->getHandler-->HandlerExecutionChain--> ...

  8. asp.net 安全性相关参考

    <system.web> <depolyment retail="true" /> </system.web>   AntiXSS http:/ ...

  9. Understanding Asynchronous IO With Python 3.4's Asyncio And Node.js

    [转自]http://sahandsaba.com/understanding-asyncio-node-js-python-3-4.html Introduction I spent this su ...

  10. JQuery上传插件uploadify整理(Events)

    Arguments fileThe file object being cancelled onCancel:调用calcel方法.$('#upload').uploadify('cancel'); ...