kla*_*aus 6 bash perl batch-rename
我试图使用bash命令重命名一些文件,但我不知道如何在regex表达式中添加算术表达式/数学运算.
输入:
a000.png
a001.png
...
Run Code Online (Sandbox Code Playgroud)
输出继电器:
a010.png
a011.png
...
Run Code Online (Sandbox Code Playgroud)
我想在名字中添加10.
我试过的一些事情:
rename -n -e 's/a(\d+).png/a$1 + 10.png/' *
rename -n -e 's/a(\d+).png/a{$1 + 10}.png/' *
rename -n -e 's/a(\d+).png/a$($1 + 10).png/' *
Run Code Online (Sandbox Code Playgroud)
有一个简单的方法吗?
这应该可以解决问题.如果你不希望前导零您可以删除sprintf的,以及"%03d"格式字符串.此外,如果要重命名的文件始终以a,则还可以[a-zA-Z]*使用文字字符取代前导正则表达式a.最后,虽然*文件说明符可能足够,但我建议将扩展名作为额外的安全预防措施(例如*.png).
与往常一样,首先使用
-n标志来验证重命名是否正确.
rename -v 's/([a-zA-Z]*)([0-9]*)/$1.sprintf("%03d",$2+10)/e' *
Run Code Online (Sandbox Code Playgroud)