![](/img/trans.png)
[英]Linux Renaming files in a folder where the names is ab1.jpg, ab2.jpg, ab10.jpg etc
[英]Linux renaming now.jpg.1 to spy_1.html
我想使用linux重命名10个文件。
now.jpg至spy_.html
另外九个应该是
从now.jpg.1到spy_html.1
从now.jpg.2到spy_html.2
依此类推。
到目前为止,我已经提出了:
for f in *.jpg
do
mv “$f” “(“%s”%p”%i”%o”%n”%_).html”
done
但这是行不通的。 任何提示表示赞赏。
您可以使用正则表达式捕获可选的数字扩展名并将其添加到目标文件名。 这应该与bash一起使用:
for f in *.jpg*
do
if [[ $f =~ now\.jpg(\.[0-9])? ]]; then
mv "$f" "spy.html${BASH_REMATCH[1]}"
fi
done
假设您想要spy.html[.#]
。 如果要为带有数字扩展名的文件(即spy_html.1
,则发出两个命令会更容易,一个命令用于now.jpg
,一个循环用于now.jpg.*
。
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.