我有一个文件名中缺少点的目录,该目录标记文件扩展名的开头:

filename1jpg
filename2JPG
filename3MPG

我现在想在行尾的第三个位置之前添加一个.,这样文件名将被重命名为:
filename1.jpg
filename2.JPG
filename3.MPG

最方便的方法可能是在shell上使用rename,但我无法想象会有一个regex来实现这一点。有人能帮我吗?

最佳答案

使用perl一行程序。

perl -e 'rename $_, s/\.?(...)$/.$1/r for <*>'

或者使用shell重命名:
rename 's/\.?(...)$/.$1/' *

关于regex - 正则表达式-从EOL定位到第n个位置,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/26207104/

10-12 23:28