ICode9

精准搜索请尝试: 精确搜索
首页 > 系统相关> 文章详细

Centos8中如何更改文件夹中多个文件的扩展名

2022-01-20 15:01:08  阅读:249  来源: 互联网

标签:rename 扩展名 log renamed ext 文件夹 txt Centos8


本教程将讨论将文件从特定扩展名更改为另一个扩展名的快速方法。我们将为此使用 shell循环、rename命令

方法一:使用循环

在目录中递归更改文件扩展名的最常见方法是使用 shell 的 for 循环。我们可以使用 shell 脚本提示用户输入目标目录、旧的扩展名和新的扩展名以进行重命名。以下是脚本内容:

[root@localhost ~]# vim rename_file.sh
#!/bin/bash
echo "Enter the target directory "
read target_dir
cd $target_dir
 
echo "Enter the file extension to search without a dot"
read old_ext
 
echo "Enter the new file extension to rename to without a dot"
read new_ext
 
echo "$target_dir, $old_ext, $new_ext"
 
for file in *.$old_ext
do
    mv -v "$file" "${file%.$old_ext}.$new_ext"
done;


上面的脚本将询问用户要处理的目录,然后 cd 进入设置目录。接下来,我们得到没有点.的旧扩展名。最后,我们获得了新的扩展名来重命名文件。然后使用循环将旧的扩展名更改为新的扩展名。

其中${file%.$old_ext}.$new_ext意思为去掉变量$file最后一个.及其右面的$old_ext扩展名,并添加$new_ext新扩展名。

使用mv -v,让输出信息更详细。

www.admin5.com/article/20170925/786547.shtml
www.51cto.com/it/news/2020/0416/20108.html
server.51cto.com/ManageDC-519389.htm

下面运行脚本,将/root/test下面的以.txt结尾的替换成.log

[root@localhost ~]# chmod +x rename_file.sh 
[root@localhost ~]# ./rename_file.sh 
Enter the target directory 
/root/test
Enter the file extension to search without a dot
txt
Enter the new file extension to rename to without a dot
log
/root/test, txt, log
renamed 'file10.txt' -> 'file10.log'
renamed 'file1.txt' -> 'file1.log'
renamed 'file2.txt' -> 'file2.log'
renamed 'file3.txt' -> 'file3.log'
renamed 'file4.txt' -> 'file4.log'
renamed 'file5.txt' -> 'file5.log'
renamed 'file6.txt' -> 'file6.log'
renamed 'file7.txt' -> 'file7.log'
renamed 'file8.txt' -> 'file8.log'
renamed 'file9.txt' -> 'file9.log'


如果想将.log结尾的更改回.txt,如下操作:

方法二:使用rename命令

如果不想使用脚本,可以使用rename工具递归更改文件扩展名。如下是使用方法:

[root@localhost ~]# cd /root/test/
[root@localhost test]# rename .txt .log *.txt


更改回.txt扩展名也同样的操作:

[root@localhost test]# rename .log .txt *.log

总结

本教程讨论了如何将文件从特定扩展名更改为另一个扩展名的快速方法。我们将为此使用 shell循环、rename命令。

标签:rename,扩展名,log,renamed,ext,文件夹,txt,Centos8
来源: https://blog.csdn.net/linux_hua130/article/details/122601638

本站声明: 1. iCode9 技术分享网(下文简称本站)提供的所有内容,仅供技术学习、探讨和分享;
2. 关于本站的所有留言、评论、转载及引用,纯属内容发起人的个人观点,与本站观点和立场无关;
3. 关于本站的所有言论和文字,纯属内容发起人的个人观点,与本站观点和立场无关;
4. 本站文章均是网友提供,不完全保证技术分享内容的完整性、准确性、时效性、风险性和版权归属;如您发现该文章侵犯了您的权益,可联系我们第一时间进行删除;
5. 本站为非盈利性的个人网站,所有内容不会用来进行牟利,也不会利用任何形式的广告来间接获益,纯粹是为了广大技术爱好者提供技术内容和技术思想的分享性交流网站。

专注分享技术,共同学习,共同进步。侵权联系[81616952@qq.com]

Copyright (C)ICode9.com, All Rights Reserved.

ICode9版权所有