我有一个文件名中缺少点的目录,该目录标记文件扩展名的开头:
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/