在文件夹中的前一个名称前附加字母。(重命名)

在文件夹中的前一个名称前附加字母。(重命名)

我有多个文件夹,每个文件夹大约有 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

相关内容