时间:2021-05-23
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
声明:本页内容来源网络,仅供用户参考;我单位不保证亦不表示资料全面及准确无误,也不保证亦不表示这些资料为最新信息,如因任何原因,本网内容或者用户因倚赖本网内容造成任何损失或损害,我单位将不会负任何法律责任。如涉及版权问题,请提交至online#300.cn邮箱联系删除。
在Python中os模块里,os.renames()方法用于递归重命名目录或文件。类似rename()。rename()方法语法格式如下:os.rename(o
本文介绍了node.js用fs.rename强制重命名或移动文件夹的方法,首先介绍了rename的用法,具体如下:【重命名文件夹】//rename.jsvarf
Linux重命名命令相比于Windows上的ren命名,Linux还真的是没有一个特定的重命名的命令。(虽然可以间接的使用mv来实现)。下面我就来自己写一个简单
C语言rename()函数:重命名文件或目录头文件:#include函数rename()用于重命名文件、改变文件路径或更改目录名称,其原型为intrename(
在Linux中,我们对文件进行重命名一般都会使用到mv命令,这在对单个文件重命名时非常方便。但是,若我们想要对一组文件进行重命名,mv就有些乏力了。不过没关系,