UNPKG

1.91 kBMarkdownView Raw
1rename
2===
3
4用字符串替换的方式批量改变文件名
5
6## 补充说明
7
8**rename命令** 用字符串替换的方式批量改变文件名。
9
10### 语法
11
12```shell
13rename(参数)
14```
15
16### 参数
17
18```shell
19原字符串:将文件名需要替换的字符串;
20目标字符串:将文件名中含有的原字符替换成目标字符串;
21文件:指定要改变文件名的文件列表。
22```
23
24### 实例
25
26将main1.c重命名为main.c
27
28```shell
29rename main1.c main.c main1.c
30```
31
32 **rename支持通配符**
33
34```shell
35? 可替代单个字符
36* 可替代多个字符
37[charset] 可替代charset集中的任意单个字符
38```
39
40文件夹中有这些文件foo1, ..., foo9, foo10, ..., foo278
41
42如果使用`rename foo foo0 foo?`,会把foo1到foo9的文件重命名为foo01到foo09,重命名的文件只是有4个字符长度名称的文件,文件名中的foo被替换为foo0。
43
44如果使用`rename foo foo0 foo??`,foo01到foo99的所有文件都被重命名为foo001到foo099,只重命名5个字符长度名称的文件,文件名中的foo被替换为foo0。
45
46如果使用`rename foo foo0 foo*`,foo001到foo278的所有文件都被重命名为foo0001到foo0278,所有以foo开头的文件都被重命名。
47
48如果使用`rename foo0 foo foo0[2]*`,从foo0200到foo0278的所有文件都被重命名为foo200到foo278,文件名中的foo0被替换为foo。
49
50 **rename支持正则表达式**
51
52字母的替换
53
54```shell
55rename "s/AA/aa/" * # 把文件名中的AA替换成aa
56```
57
58修改文件的后缀
59
60```shell
61rename "s//.html//.php/" * # 把.html 后缀的改成 .php后缀
62```
63
64批量添加文件后缀
65
66```shell
67rename "s/$//.txt/" * # 把所有的文件名都以txt结尾
68```
69
70批量删除文件名
71
72```shell
73rename "s//.txt//" * # 把所有以.txt结尾的文件名的.txt删掉
74```
75
76
77<!-- Linux命令行搜索引擎:https://jaywcjlove.github.io/linux-command/ -->
\No newline at end of file