我有多个文件夹,每个文件夹大约有 175 个文件。文件名如下
1.wav
2.wav
3.wav
......
175.wav
我必须将它们重命名为
A1.wav
A2.wav
A3.wav
......
A175.wav
换句话说,我必须在以前的文件名中添加字母。
我想知道是否有简单的方法可以做到这一点。
Ubuntu 版本是 16.10
答案1
方法有很多,我自己的选择是“for”循环:
for f in *.wav ; do mv "$f" "A$f" ; done
这很简单并且可以轻松修改以满足其他需求......
答案2
用户prename
命令:
$ prename -nv 's/^(.*)$/A$1/' *.wav
1.wav renamed as A1.wav
2.wav renamed as A2.wav
3.wav renamed as A3.wav
读起来很简单:
*.wav
允许 shell 将通配符扩展为以 结尾的所有文件的列表.wav
。当 shell 运行完整命令时,计算机将把prename -nv 's/^(.*)$/A$1/' 1.wav 2.wav 3.wav
等 视为实际命令。- 这
's/^(.*)$/A$1/'
实际上是s/PATTERN/REPLACEMENT
一个带分组的正则表达式(.*)
,它可以让我们将文件的整个名称从头到尾分组^
并$
称为$1
。
请注意,-nv
开关用于详细-v
和试运行-n
。如果您对测试运行感到满意,请删除-n
以应用实际重命名。
答案3
使用rename
:
rename 's/([0-9]+).wav/A\1.wav/' *.wav
s/SEARCH-FOR/REPLACE-WITH/ within-this-files
([0-9]+)
保存数字部分,然后我们可以再次使用它\1
。A\1.wav
:A
+ (数字部分) +.wav