Linux命令中的rename命令主要用于给文件重命名,与mv命令有些类似,但rename可以对批量文件进行重命名,而mv命令则只能对单个文件重命名,下面就给大家详细介绍下Linux rename命令的使用方法吧。

Linux的 rename 命令有两个版本,一个是C语言版本的,一个是Perl语言版本的,早期的Linux发行版基本上使用的是C语言版本的,现在已经很难见到C语言版本的了,由于历史原因,在Perl语言大红大紫的时候,Linux的工具开发者们信仰Perl能取代C,所以大部分工具原来是C版本的都被Perl改写了,因为Perl版本的支持正则处理,所以功能更加强大,已经不再需要C语言版本的了。

如何区分系统里的rename命令是哪个版本的?

输入 man rename 看到第一行是

RENAME(1) Linux Programmer’s Manual RENAME(1)

那么 这个就是C语言版本的。

而如果出现的是:

RENAME(1) Perl Programmers Reference Guide RENAME(1)

这个就是Perl版本的了!

两个版本的语法差异:

C语言的,按照man上面的注解,

rename的语法格式是:

rename fromtofile

这个命令有三个参数,分别是 from : 修改什么名字, to:改成什么名字, file 需要修改的文件是哪些。

用法示例:

比如,有一批文件,都是以 log开头的, log001.txt, log002.txt ……。 一直到 log100.txt

现在想要把这批文件的log全部替换为 history

rename log history log*

这句命令的意思很明白了,把 以 log开头的所有文件中的 log字符替换为 history

这样替换后的文件是: history001.txt, history002.txt …。。 一直到 history100.txt

rename C语言版本的另一个man示例是把后缀名批量修改,

比如我们要将所有 jpeg的后缀名图片文件修改为 jpg文件。

rename .jpeg.jpg*.jpeg

这样,所有以 .jpeg扩展的后缀名全部被修改为 .jpg

现在总结一下rename C语言版本所能实现的功能: 批量修改文件名,结果是每个文件会被用相同的一个字符串替换掉!也就是说,无法实现诸如循环 然后按编号重命名!

Perl 版本的批量重命名,带有Perl的好处是,你可以使用正则表达式来完成很奇特的功能。

perl 版本的参数格式:

rename perlexprfiles

注意,perl版本的rename只有两个参数,第一个参数为perl正则表达式,第二个参数为所要处理的文件

man rename的帮助示例:

1) 有一批文件,以 .bak结尾,现在想把这些 .bak 统统去掉。

rename ‘s/\.bak$//’ *.bak

这个命令很简单,因为我还没有系统学习过perl,我不知道perl里替换字符串是不是这么干的,但sed是这么干的,所以如果你有sed或者tr基础,很容易明白,这个替换和sed里的正则语法是一模一样的。

2) 把所有文件名内含有大小字母的,修改为小写字母。

rename ‘y/A-Z/a-z/’ *

依然和sed的替换语法一样,不用多解释,如果看不懂的话,可以系统学习一下sed先。

还有几个比较实用的例子:

批量去掉文件名里的空格

Linux文件名本来是不支持空格的,不知道什么时候允许了,当然,在命令行调用文件的时候,空格是很有问题滴,比如你 原来可以直接 mv oldfile newfile 但有空格就不行了 , 得加双引号: mv “oldfile” “newfile” 或者用反斜杠转移 \[] ,这样还好,但如果你直接把含有空格的图片名引入 Latex文档,Latex生成pdf的时候会直接打印出文件名,之前这个问题苦恼了我很久,我生成的pdf怎么老是出现文件名呢?后来才发现原来是文件名内含有空格的问题!windows系统下生成的文件名是天生含有空格的,虽然很讨厌,但有些惠普扫描仪生成的图片默认就加入了空格,没有办法,只好去掉他,在系统研究rename命令前,我是用 mv 去除空格的。

.linux重命名文件命令,Linux rename命令文件重命名的用法汇总相关推荐

  1. MATLAB的rename命令应用,rename命令怎么使用

    rename命令可以用来修改文件名.重命名文件,批量重命名文件rename是最好的选择,下面学习阿拉小编为大家分享了rename命令的使用的方法详解,需要的朋友参考下. rename命令怎么使用 在l ...

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

    linux 使用rename命令批量重命名文件 命令格式: Usage: rename [-v] [-n] [-f] perlexpr [filenames] 参数说明: v 显示文件重命名的细节 n ...

  3. linux重命名文件或文件夹(mv命令 rename命令)

    转自:http://www.cnblogs.com/yes123/p/3919337.html 在linux下重命名文件或目录,可以使用mv命令或rename命令,这里分享下二者的使用方法. mv命令 ...

  4. 【Linux】一步一步学Linux——rename命令(36)

    00. 目录 文章目录 00. 目录 01. 命令概述 02. 命令格式 03. 常用选项 04. 参考示例 05. 附录 01. 命令概述 rename命令用字符串替换的方式批量改变文件名. ren ...

  5. Linux 命令(26)—— rename 命令

    1.命令简介 功能类似于 mv,可实现文件或者目录的重命名.mv 不能批量处理,而 rename 可以. 2.命令格式 rename [OPTIONS] EXPRESSION REPLACEMENT ...

  6. Linux中rename命令的用法

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

  7. Redis学习之rename命令

    目录 rename命令 语法 返回值 例子 rename命令 Redis rename 命令用于修改 key 的名称 语法 rename key newkey rename将 key 改名为 newk ...

  8. Python文件(一):文件类型、文件的打开,读取写入,关闭、文件备份、文件和文件夹的操作

    一.文件 文件是存储在存储器上的一组数据序列,可以包含任何数据内容. 文件是数据的抽象和集合. 二.文件类型 文本文件:长字符串 二进制是信息按照非字符但有特定格式形成的文件,文件内部数据的组织格式与 ...

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

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

最新文章

  1. 矩阵的基本概念(等价、合同、秩...)
  2. 非法的表达式开始_轮回、开始还是结束?
  3. python编写加密程序_用Python实现一个简单的加密程序
  4. iis7.5配置 html,windows server 2008R2系统 IIS7.5配置伪静态的方法(urlrewrite)
  5. 报表自动化就是连接数据库?错,它打开了数据仓库的大门
  6. 昆明学院C语言期末考试,昆大c试于题b.doc
  7. 使用 Fabric 自动化部署 Django 项目
  8. About MS Reporting Service
  9. Java从入门到精通 第18章 包及访问权限
  10. python剔除异常值的方法_二维d异常值的剔除方法
  11. android 刷机时缺少驱动无法识别
  12. WinForm界面开发教程:DevExpress WidgetView使用介绍
  13. detours介绍与使用
  14. linux搭建智能dns步骤,Linux下智能DNS配置过程
  15. jsonviewer
  16. 小程序体积优化(1)--优化大文本
  17. 毕业设计-基于机器学习的短期负荷预测算法
  18. c语言试卷分析报告范文,c语言试卷分析
  19. hdmi tv 信息 的edid_EDID解决方案—HDMI
  20. C#常用字符串加解密方法封装

热门文章

  1. 基于java swing的系统_Java实验--基于Swing的简单的歌曲信息管理系统(三)
  2. Linux编辑文件命令汇总
  3. java 当前周_java获取当前周次
  4. Android的Activity屏幕切换动画左右滑动切换
  5. 为什么Python多线程反而更慢了?
  6. c#输入三个数升序排列,如何在C#中按升序对数组进行排序?
  7. python切片是深拷贝还是浅拷贝_Python 深拷贝和浅拷贝
  8. 在推广初期该如何运营应用
  9. c语言从键盘输入数字月份,打印显示相应的英文单词月份,编程题:输入英文月份单词,输出对应月的数字形式。...
  10. Java从sftp服务器上传与下载文件