ubuntu 重命名 命令(ubuntu修改文件内容命令)
大家好,今天来为大家分享ubuntu 重命名 命令的一些知识点,和ubuntu修改文件内容命令的问题解析,大家要是都明白,那么可以忽略,如果不太清楚的话可以看看本篇文章,相信很大概率可以解决您的问题,接下来我们就一起来看看吧!
举例讲解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
讲解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
ubuntu16.04 怎么批量重命名
某个文件夹下有100个文件,文件名分别是0000001.tif, 0000002.tif……0000100.tif。
要把这些文件都改成length001.tif, length002.tif……length100.tif,该怎么弄呢?
首先,在当前目录下打开终端,或者打开终端cd当前目录
输入命令:rename-n's/0000/length/'*.tif
参数-n的意思是显示运行后会有哪些变化,并不实际执行;
's/0000/length/'表示把0000换成length,*.tif表示只更换这种类型的文件
运行了以后回显示一个列表,哪些文件会被更改,确认没有问题以后,去掉参数-n重新运行一遍就可以了
rename's/0000/length/'*.tif