在linux系统中,我们可以使用命令行工具来批量删除文件的后缀名,这里我们主要使用两个命令:rename
和for
,我们需要安装这两个工具,在Debian/Ubuntu系统中,可以使用以下命令安装:,在CentOS/RHEL系统中,可以使用以下命令安装:,,接下来,我们将详细介绍如何使用这两个工具来批量删除文件的后缀名。,1、创建一个文本文件,例如file_list.txt
,在其中列出需要修改后缀名的文件名,每个文件名占一行。,file1.txt file2.txt file3.jpg file4.docx,2、使用rename
命令,结合正则表达式来匹配并修改文件名,在本例中,我们将匹配所有没有.
的文件名,并在其末尾添加.bak
后缀,运行以下命令:,解析:,cat file_list.txt
:读取file_list.txt
中的文件名列表。,rename 's/\.[^.]*$//'
:使用正则表达式替换,将没有.
的文件名替换为原文件名。,,xargs -I {} touch {}.bak
:使用xargs
命令,为每个文件创建一个新的.bak
后缀的文件。,1、创建一个名为batch_rename.sh
的shell脚本,并在其中编写以下内容:,2、为脚本添加可执行权限:,3、在包含需要修改后缀名的文件的目录下运行脚本:,1、如何只删除特定类型的文件后缀?只删除.log
类型的文件后缀?可以将正则表达式修改为.*\.log$
,即只匹配以.log
结尾的文件名,代码如下:,2、如何批量重命名多个目录下的文件?可以将脚本放到一个循环中,遍历所有需要修改后缀名的目录。
原创文章,作者:admin,如若转载,请注明出处:https://www.vaicdn.com/news/8742.html