.linux重命名文件命令,Linux rename命令文件重命名的用法汇总
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命令文件重命名的用法汇总相关推荐
- MATLAB的rename命令应用,rename命令怎么使用
rename命令可以用来修改文件名.重命名文件,批量重命名文件rename是最好的选择,下面学习阿拉小编为大家分享了rename命令的使用的方法详解,需要的朋友参考下. rename命令怎么使用 在l ...
- linux 使用rename命令批量重命名文件
linux 使用rename命令批量重命名文件 命令格式: Usage: rename [-v] [-n] [-f] perlexpr [filenames] 参数说明: v 显示文件重命名的细节 n ...
- linux重命名文件或文件夹(mv命令 rename命令)
转自:http://www.cnblogs.com/yes123/p/3919337.html 在linux下重命名文件或目录,可以使用mv命令或rename命令,这里分享下二者的使用方法. mv命令 ...
- 【Linux】一步一步学Linux——rename命令(36)
00. 目录 文章目录 00. 目录 01. 命令概述 02. 命令格式 03. 常用选项 04. 参考示例 05. 附录 01. 命令概述 rename命令用字符串替换的方式批量改变文件名. ren ...
- Linux 命令(26)—— rename 命令
1.命令简介 功能类似于 mv,可实现文件或者目录的重命名.mv 不能批量处理,而 rename 可以. 2.命令格式 rename [OPTIONS] EXPRESSION REPLACEMENT ...
- Linux中rename命令的用法
刚学习linux的时候,对文件重命名首先想到的就是rename命令,但是按照在windows下对文件重命名的方式试了N多次都没有反应,在网上一搜索,发现很多人都对rename命令知之甚少,甚至有一部分 ...
- Redis学习之rename命令
目录 rename命令 语法 返回值 例子 rename命令 Redis rename 命令用于修改 key 的名称 语法 rename key newkey rename将 key 改名为 newk ...
- Python文件(一):文件类型、文件的打开,读取写入,关闭、文件备份、文件和文件夹的操作
一.文件 文件是存储在存储器上的一组数据序列,可以包含任何数据内容. 文件是数据的抽象和集合. 二.文件类型 文本文件:长字符串 二进制是信息按照非字符但有特定格式形成的文件,文件内部数据的组织格式与 ...
- Linux下批量重命名文件或文件夹(rename命令)
cp mv 在复制.移动文件时,可单个更改文件名称 下面介绍Linux系统中另一个重命名命令 rename命令的用法. 批量创建那些规格差不多的文件名.[测试的第一步] [root@linuxidc ...
最新文章
- 矩阵的基本概念(等价、合同、秩...)
- 非法的表达式开始_轮回、开始还是结束?
- python编写加密程序_用Python实现一个简单的加密程序
- iis7.5配置 html,windows server 2008R2系统 IIS7.5配置伪静态的方法(urlrewrite)
- 报表自动化就是连接数据库?错,它打开了数据仓库的大门
- 昆明学院C语言期末考试,昆大c试于题b.doc
- 使用 Fabric 自动化部署 Django 项目
- About MS Reporting Service
- Java从入门到精通 第18章 包及访问权限
- python剔除异常值的方法_二维d异常值的剔除方法
- android 刷机时缺少驱动无法识别
- WinForm界面开发教程:DevExpress WidgetView使用介绍
- detours介绍与使用
- linux搭建智能dns步骤,Linux下智能DNS配置过程
- jsonviewer
- 小程序体积优化(1)--优化大文本
- 毕业设计-基于机器学习的短期负荷预测算法
- c语言试卷分析报告范文,c语言试卷分析
- hdmi tv 信息 的edid_EDID解决方案—HDMI
- C#常用字符串加解密方法封装
热门文章
- 基于java swing的系统_Java实验--基于Swing的简单的歌曲信息管理系统(三)
- Linux编辑文件命令汇总
- java 当前周_java获取当前周次
- Android的Activity屏幕切换动画左右滑动切换
- 为什么Python多线程反而更慢了?
- c#输入三个数升序排列,如何在C#中按升序对数组进行排序?
- python切片是深拷贝还是浅拷贝_Python 深拷贝和浅拷贝
- 在推广初期该如何运营应用
- c语言从键盘输入数字月份,打印显示相应的英文单词月份,编程题:输入英文月份单词,输出对应月的数字形式。...
- Java从sftp服务器上传与下载文件