roy*_*att 1 regex linux bash perl
我有一个文件名目录,其中缺少点,这标志着文件扩展名的开头:
filename1jpg
filename2JPG
filename3MPG
Run Code Online (Sandbox Code Playgroud)
我现在想.在行的末尾添加一个第三个位置,以便将文件名重命名为:
filename1.jpg
filename2.JPG
filename3.MPG
Run Code Online (Sandbox Code Playgroud)
最方便的可能是rename在shell上,但我无法想象一个正则表达式.有人能帮我吗?
您可以在文件所在的目录上尝试以下rename命令.
rename 's/(...)$/.$1/' *
Run Code Online (Sandbox Code Playgroud)
$表示线锚的结束.并()称为捕获组,用于捕获字符.所以,(...)$这个捕获组将夺取最后三个字符,并保存到组指数1.然后匹配的子字符串(后三个字符)替换为一个圆点加群指数1(里面的人物最后三个字符).