阿里云-云小站(无限量代金券发放中)
【腾讯云】云服务器、云数据库、COS、CDN、短信等热卖云产品特惠抢购

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

30次阅读
没有评论

共计 1477 个字符,预计需要花费 4 分钟才能阅读完成。

导读 本教程将讨论将文件从特定扩展名更改为另一个扩展名的快速方法。我们将为此使用 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;

Centos8 中如何更改文件夹中多个文件的扩展名
上面的脚本将询问用户要处理的目录,然后 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'

Centos8 中如何更改文件夹中多个文件的扩展名
如果想将.log 结尾的更改回.txt,如下操作:
Centos8 中如何更改文件夹中多个文件的扩展名

方法二:使用 rename 命令

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

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

Centos8 中如何更改文件夹中多个文件的扩展名
更改回.txt 扩展名也同样的操作:

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

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

总结

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

正文完
星哥说事-微信公众号
post-qrcode
 0
星锅
版权声明:本站原创文章,由 星锅 于2024-07-25发表,共计1477字。
转载说明:除特殊说明外本站文章皆由CC-4.0协议发布,转载请注明出处。
【腾讯云】推广者专属福利,新客户无门槛领取总价值高达2860元代金券,每种代金券限量500张,先到先得。
阿里云-最新活动爆款每日限量供应
评论(没有评论)
验证码
【腾讯云】云服务器、云数据库、COS、CDN、短信等云产品特惠热卖中