批量重命名Linux文件

批量重命名Linux文件

介绍

如果我们想在Linux中重命名任何文件,我们使用“mv”命令。但是mv命令一次只能重命名一个文件,无法在终端中一次重命名多个文件。如果我们想重命名多个文件,则必须以不同的方式使用mv命令。还有其他命令可用,如“rename”,“mmv”,“renameutils”等。虽然有些命令在Linux中默认没有安装,但我们需要单独安装它们。

在本文中,让我们了解每个命令并给出一些示例。

方法一:使用“mv”命令

我们已经知道mv命令用于重命名单个文件,但是我们可以在bash脚本中使用mv命令来重命名多个文件。

让我们在Linux中创建一些.txt文件。

$ touch 1.txt 2.txt 3.txt 4.txt 5.txt 6.txt 7.txt 8.txt 9.txt 10.txt
Go

然后使用以下bash脚本将所有.txt文件重命名为.odt文件。

命令

ls *.txt #打印所有文本文件名

for file in `ls *.txt`;
do
   filename=`basename file .txt`
   mvfile $filename.odt;
done

ls *.odt #打印所有ODT文件名
Go

运行bash脚本。

$ bash multiple_rename.sh
Go

输出

10.txt  1.txt  2.txt  3.txt  4.txt  5.txt  6.txt  7.txt  8.txt  9.txt
10.odt  1.odt  2.odt  3.odt  4.odt  5.odt  6.odt  7.odt  8.odt  9.odt
Go

现在,我们可以看到所有文件都已重命名为.odt文件。

命令

$ ls
Go

输出

10.odt  1.odt  2.odt  3.odt  4.odt  5.odt  6.odt  7.odt  8.odt  9.odt  multiple_rename.sh
Go

方法二:使用“rename”命令

我们可以使用rename命令以批量方式重命名文件。如果Linux默认情况下未安装rename命令,则可以使用以下命令进行安装。

$ sudo apt install rename
Go

然后我们可以在Linux终端中发出“rename”命令,并检查以下输出以确认命令是否已正确安装。

命令

$ rename
Go

输出

Usage:
   rename [ -h|-m|-V ] [ -v ] [ -n ] [ -f ] [ -e|-E *perlexpr*]*|*perlexpr*
   [ *files* ]
Go

现在,让我们使用以下命令将所有.odt文件重命名为.docx文件。

命令

$ rename 's/\.odt/\.docx/' *.odt
Go

以下是上一个命令的最终结果。

$ ls
Go

输出

10.docx  1.docx  2.docx  3.docx 4.docx  5.docx  6.docx  7.docx  8.docx  9.docx
Go

方法三:使用“mmv”命令

此命令可能在Linux中默认情况下未安装。

如果在给出“mmv”命令后获得以下消息,则表示未安装该命令。

$mmv
Go
The program 'mmv' is currently not installed. You can install it by typing:
sudo apt install mmv
Go

然后我们应该安装它。

$ sudo apt install mmv
Go

通过在终端中提供“mmv”命令来确认安装。

现在,让我们使用“mmv”命令将所有.docx文件转换为.png文件。我们可以使用以下语法。

命令

$ mmv '*.docx' '#1.png'
Go

以下是上一个命令的最终结果。

$ ls
Go

输出

10.png 1.png  2.png  3.png  4.png  5.png  6.png  7.png  8.png  9.png
Go

方法四:使用“qmv”命令

要使用qmv,我们需要安装renameutils,因为此命令在Linux中默认情况下未安装。

命令

$ sudo apt install renameutils
Go

现在,让我们仅提供“qmv”命令。

$ qmv
Go

输出

10.png                                  10.png
1.png                                   1.png
2.png                                   2.png
3.png                                   3.png
4.png                                   4.png
5.png                                   5.png
6.png                                   6.png
7.png                                   7.png
8.png                                   8.png
9.png                                   9.png
multiple_rename.sh                      multiple_rename.sh

[ 读取11]
^G 获得帮助    ^O 写出        ^W 查找        ^K 剪切        ^J 对齐        ^C 光标        ^Y 前一页       M-\ 第一行
^X 退出        ^R 读取文件     ^\ 替换        ^U 取消剪切    ^T 拼写检查    ^_ 跳到行      ^V 后一页       M-/ 最后一行
Go

在这里,可以看到两列,左侧是原始文件名,右侧是修改后的文件名。我们可以根据需要编辑右侧列。例如,我们已将两个文件修改为.odt

10.txt 改为 10.odt
1.png 改为 1.odt
Go

查看以下更改

10.png                                  10.odt
1.png                                   1.odt
2.png                                   2.png
3.png                                   3.png
4.png                                   4.png
5.png                                   5.png
6.png                                   6.png
7.png                                   7.png
8.png                                   8.png
9.png                                   9.png
multiple_rename.sh                      multiple_rename.sh
Go

使用所需的命令从编辑器中退出。然后,我们看到以下输出。

计划有效。

10.png -> 10.odt
1.png -> 1.odt
  常规更名

10.png -> 10.odt
1.png -> 1.odt
Go

让我们确认更改是否发生了。

$ ls
Go

输出

10.odt  1.odt  2.png  3.png  4.png  5.png  6.png  7.png  8.png  9.png
Go

结论

从本文中,我们学习了许多批量重命名 Linux 文件名的新命令。根据我们的要求,我们可以使用其中任何一个命令。这也帮助我们更快地完成 Linux 文件重命名。

Python教程

Java教程

Web教程

数据库教程

图形图像教程

大数据教程

开发工具教程

计算机教程

登录

注册