举例讲解Linux中的重命名命令rename的使用方法

rename 用于 对文件进行命名管理,可进行批量命名并支持正则表达式, rename命令存在两个版本用法上有所区别 一个是 C语言版本支持通配符,另一个是 Perl版本.支持正则表达式

命令格式:
Usage: rename [-v] [-n] [-f] perlexpr [filenames]

参数说明:
v 显示文件重命名的细节
n 不执行重命名,但会模拟执行重命名,并显示会出现的情况,例如是否会有同名文件冲突等。在重命名前测试很有用。
f 强制覆盖同名文件
 
常用通配符说明
 ?    表示一个任意字符
 *    表示一个或一串任意字符

常用正则表达式符号说明
^    匹配输入的开始位置
$    匹配输入的结尾
.    匹配除换行符外的任意字符
+    匹配前一个字符一次或多次 例如,"zo+"可以匹配"zoo",但不匹配"z"
[a-z]    表示某个范围内的字符,例如,"[a-z]"匹配"a"与"z"之间的任何一个小写字母字符。
[^m-z]    否定的字符区间。与不在指定区间内的字符匹配。

例子1:显示重命名细节
使用touch命令创建3个txt文件,使用rename命令批量将所有后缀为txt重命名为log

代码如下:

touch a.txt
touch b.txt
touch c.txt
rename -v 's/.txt/.log/' *.txt

v 参数作用,显示文件重命名细节

代码如下:

fdipzone@ubuntu:~$ rename -v 's/.txt/.log/' *.txt
a.txt renamed as a.log
b.txt renamed as b.log
c.txt renamed as c.log

例子2:测试重命名是否遇到同名

代码如下:

touch a.txt
touch b.txt
touch c.txt
touch a.log
touch b.log
rename -n 's/.txt/.log/' *.txt

n 参数作用,不执行重命名,但会显示如果执行重命名会出现的同名情况

代码如下:

fdipzone@ubuntu:~$ rename -n 's/.txt/.log/' *.txt
a.txt not renamed: a.log already exists
b.txt not renamed: b.log already exists
c.txt renamed as c.log

例子3:强制覆盖同名文件

代码如下:

touch a.txt
touch b.txt
touch a.log
touch b.log
rename -f 's/.txt/.log/' *.txt

如果使用 v 参数,会因为同名文件存在而重命名失败

代码如下:

fdipzone@ubuntu:~$ rename -v 's/.txt/.log/' *.txt
a.txt not renamed: a.log already exists
b.txt not renamed: b.log already exists

f 参数作用,强制覆盖同名文件

代码如下:

fdipzone@ubuntu:~$ rename -fv 's/.txt/.log/' *.txt
a.txt renamed as a.log
b.txt renamed as b.log

执行后,a.txt与b.txt重命名为a.log与b.log,覆盖原来的a.log与b.log

(0)

相关推荐

  • 讲解Linux中的重命名命令rename的使用方法

    rename 用于 对文件进行命名管理,可进行批量命名并支持正则表达式, rename命令存在两个版本用法上有所区别 一个是 C语言版本支持通配符,另一个是 Perl版本.支持正则表达式 命令格式: ...

  • linux简单基础命令:[3]linux移动与重命名

    本系列一直在介绍简单命令,有利于读懂以及实验,这次将介绍linux系统中的移动与重命名命令. 操作方法 01 第一步,以root身份登录虚拟机,如下图所示. 02 第二步,在根目录下新建两个个文件文件 ...

  • Excel2003使用重命名命令ren结合批处理实现批量修改文件名

    很多新手朋友们遇到了这样的一个问题就是如何批量处理修改文件名?大家可能都没有发现在excel中有一个重命名命令ren,使用它可以快速完成批量处理文件名,下面有个不错的教程,大家可以尝试操作下。 描述: ...

  • 在excel表格中怎么重命名工作表呢?

    在excel表格中工作表一般默认为sheet1.sheet2.sheet3.有时候为了工作需要,会重命名工作表,那如何操作呢?其实方法很简单的,下面小编就为大家详细介绍在excel表格中怎么重命名工作 ...

  • win10系统笔记本电脑怎么在电脑属性中进行“重命名”

    今天,小编给大家分享win10系统笔记本电脑在电脑属性中进行"重命名"的方法,希望对大家有所帮助.具体如下:1.首先,请大家右击屏幕中的"此电脑"图标,然后选择 ...

  • ps中怎么重命名图层

    有网友问:ps中怎么重命名图层?下面,我给这位网友解答. 操作方法 01 我们新建文档后,会自动出一个背景层.当我们新建一个图层时,PS会自动命名图层名称. 02 新建图层自动命名为:图层1:我们若想 ...

  • Win10系统同时重命名多个文件的方法

    Win10系统怎么同时重命名多个文件?在我们日常使用win10系统电脑过程中整理重要文件时,很多用户都会对文件进行重命名,以便节省更多的时间.而如果文件数量非常多的话,我们就需要对其进行批量重命名.那 ...

  • 举例讲解Linux下grep命令的精彩使用技巧

    grep 命令用来搜索文本,或从给定的文件中搜索行内包含了给定字符串或单词的文件.通常来说,grep 显示匹配到的行.使用 grep 来搜索包括一个或多个正则表达式匹配到的文本行,然后只显示匹配到的行 ...

  • Linux中的文件压缩命令tar与rar的用法总结

    tartar 命令:用来压缩和解压文件.tar本身不具有压缩功能.他是调用压缩功能实现的  主操作模式: -A, --catenate, --concatenate   追加 tar 文件至归档 -c ...