Linux 下快速批量重命名文件

1. 引言

在 Linux 系统中,我们经常需要批量重命名文件,比如给多个文件添加前缀或后缀、替换文件名中的特定字符等等。手动重命名一个或几个文件是可行的,但是当涉及到大量文件时,手动操作就变得非常繁琐而且耗时。在这种情况下,我们可以借助一些命令行工具实现快速批量重命名。本文将介绍几种在 Linux 下快速批量重命名文件的方法。

2. 使用 mv 命令批量重命名文件

2.1 添加前缀

如果我们需要给一组文件添加相同的前缀,可以使用 mv 命令配合 shell 的通配符来实现。例如,如果我们有一组以数字命名的文件(如 file1.txtfile2.txtfile3.txt),我们可以使用以下命令给这些文件添加前缀:

for file in file*.txt; do

mv "$file" "prefix_$file"

done

这段代码使用了一个 for 循环,遍历当前目录下所有以 file 开头、以 .txt 结尾的文件。每次迭代,将 $file 的值加上前缀 prefix_,然后使用 mv 命令来重命名文件。

2.2 添加后缀

类似地,如果我们需要给一组文件添加相同的后缀,可以使用以下命令:

for file in *.txt; do

mv "$file" "${file%.txt}_suffix.txt"

done

这里使用了一个类似的 for 循环,遍历当前目录下所有以 .txt 结尾的文件。通过将 ${file%.txt} 加上后缀 _suffix,我们可以实现给文件添加相同后缀的功能。

3. 使用 rename 命令批量重命名文件

rename 命令是一个功能强大的批量重命名工具,它可以通过正则表达式来匹配文件名,并进行相应的重命名操作。下面是一些使用 rename 命令的示例:

3.1 替换文件名中的特定字符

如果我们要将文件名中的特定字符替换为其他字符,可以使用 rename 命令的 s/old/new/ 格式。例如,假设我们有一组文件,文件名中包含 old,我们想把它替换成 new,可以使用以下命令:

rename 's/old/new/' file*.txt

该命令将使用正则表达式 s/old/new/ 匹配文件名,并将其中的 old 替换为 new

3.2 使用序号重命名文件

有时候我们需要给一组文件按顺序添加序号,可以使用以下命令:

rename 's/^/prefix_/' file*.txt

该命令会在文件名前添加 prefix_,使得文件按顺序添加了前缀。

4. 使用 mmv 命令批量重命名文件

mmv 命令是另一个强大的批量重命名工具,它可以利用通配符来匹配文件名,并使用替换规则进行重命名操作。

4.1 替换文件名中的特定字符

要使用 mmv 命令替换文件名中的特定字符,可以使用以下命令:

mmv '*old*' '#1new#2'

该命令会使用 * 来匹配任意字符,再使用 #1#2 来引用第一个和第二个 * 之间的字符,并将其中的 old 替换为 new

4.2 添加前缀或后缀

如果要给一组文件添加相同的前缀或后缀,可以使用以下命令:

mmv '*' 'prefix_#&'

该命令会将 * 匹配的文件名添加前缀 prefix_

5. 总结

在本文中,我们介绍了几种在 Linux 下快速批量重命名文件的方法。使用 mv 命令和 for 循环可以实现添加前缀或后缀的功能,而 renamemmv 命令则更加强大,可以使用正则表达式和替换规则实现更复杂的重命名操作。根据具体需求,选择合适的方法来批量重命名文件可以提高工作效率。

操作系统标签