使用shell脚本通过替换文件名中的某个模式来重命名多个文件。

32 浏览
0 Comments

使用shell脚本通过替换文件名中的某个模式来重命名多个文件。

这个问题已经有了答案:

基于模式在Unix中重命名多个文件

编写一个简单的脚本,自动重命名多个文件。例如,我们想把文件* 001.jpg重命名为用户定义的字符串+ 001.jpg(例如:MyVacation20110725_001.jpg)。此脚本的用途是使数字相机照片拥有一些有意义的文件名。

我需要编写一个shell脚本。有人能建议如何开始吗?

admin 更改状态以发布 2023年5月23日
0
0 Comments

你可以使用 rename 实用工具按照模式批量重命名文件。例如,下面的命令会在所有扩展名为 jpg 的文件前添加字符串 MyVacation2011_。

rename 's/^/MyVacation2011_/g' *.jpg

或者

rename   

0
0 Comments

一个帮助你入门的例子。

for f in *.jpg; do mv "$f" "$(echo "$f" | sed s/IMG/VACATION/)"; done

在这个例子中,假设你所有的图片文件都含有字符串IMG,你想要用VACATION替换它。

Shell会自动将*.jpg匹配到所有的匹配文件。

mv命令的第二个参数(文件的新命名)是sed命令替换IMGVACATION的输出。

如果你的文件名包含空格,请注意"$f"笔记。你需要使用双引号来保留空格。

0