教你在 Centos8 中如何修改文件夹里多个文件的扩展名
发布时间:2021-11-22 15:00:49 所属栏目:系统 来源:互联网
导读:本教程将讨论将文件从特定扩展名更改为另一个扩展名的快速方法。我们将为此使用 shell循环、rename命令。 方法一:使用循环 在目录中递归更改文件扩展名的最常见方法是使用 shell 的 for 循环。我们可以使用 shell 脚本提示用户输入目标目录、旧的扩展名和
本教程将讨论将文件从特定扩展名更改为另一个扩展名的快速方法。我们将为此使用 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" 上面的脚本将询问用户要处理的目录,然后 cd 进入设置目录。接下来,我们得到没有点.的旧扩展名。最后,我们获得了新的扩展名来重命名文件。然后使用循环将旧的扩展名更改为新的扩展名。 其中${file%.$old_ext}.$new_ext意思为去掉变量$file最后一个.及其右面的$old_ext扩展名,并添加$new_ext新扩展名。 使用mv -v,让输出信息更详细。 下面运行脚本,将/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' (编辑:包头站长网) 【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容! |
站长推荐