【发布时间】:2018-05-26 18:11:45
【问题描述】:
我正在尝试使用 bash 命令重命名一些文件,但我不知道如何将算术表达式/数学运算添加到正则表达式中。
输入:
a000.png
a001.png
...
输出:
a010.png
a011.png
...
我正在尝试将 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/' *
有没有简单的方法来做到这一点?
【问题讨论】:
-
这里的诀窍是
rename命令使用perl语法,而不是bashshell 语法。我手头没有一个好的、全面的资源来详细说明/表达这一点,但当我这样做时,我会附上我的答案。 -
我对链接到外部网站犹豫不决;那里有很多指南(谷歌搜索)。首先,您可以使用
man perlre粗略了解一下。 -
感谢您指出这一点,@TravisClarke。我会记住这个和你的答案以供将来参考,我喜欢
rename命令。
标签: bash perl batch-rename