在扩展名后用(〜)重命名文件

时间:2016-12-08 08:56:28

标签: regex rename

我有大约3500个文件(.doc .xls .pdf等),他们都有"〜"延期后。即blahblah.doc~,blahblah.xls~我对正则表达式不够熟悉,无法使语法正确。在bash shell中执行此操作最简单的命令/脚本是什么。谢天谢地。

2 个答案:

答案 0 :(得分:1)

这应该这样做

rename -n 's/~$//' *.*

如果您真的想要进行更改,显然您需要删除-n。否则,它将显示将在不触及的情况下进行更改的文件

答案 1 :(得分:0)

如果您有子目录,也可以使用以下python脚本: 它所做的是检查文件是否具有〜,如果有,它将在python的系统中删除最后一个字符,因此只有在最后一个字符中只有〜波浪号时,它才有效。或者,您可以使用name.Endswith(“〜”)

import os
from os.path import join

for root, dirs, files in os.walk('path_to_parent_directory'):
    for name in files:
        #print (name) // for checking filenames
        if "~" in name: 
            os.rename(join(root,name),join(root,name[:-1]))