【发布时间】:2015-02-07 15:57:24
【问题描述】:
我有大约一千个文件需要重命名。文件名都是这样的
XXXXppppppp-ppppp_S!!_L001XXX_001.extension
X 是我需要保留的信息,并且!是一个顺序递增的数字(即 01、02...99)。
我真的无法理解重命名命令,以及如何实现我需要做的事情。基本上我想保留前四个字符,删除接下来的 22 个,保留接下来的 3 个并删除最后的 4 个。我还想保留扩展名。
谢谢!
【问题讨论】:
我有大约一千个文件需要重命名。文件名都是这样的
XXXXppppppp-ppppp_S!!_L001XXX_001.extension
X 是我需要保留的信息,并且!是一个顺序递增的数字(即 01、02...99)。
我真的无法理解重命名命令,以及如何实现我需要做的事情。基本上我想保留前四个字符,删除接下来的 22 个,保留接下来的 3 个并删除最后的 4 个。我还想保留扩展名。
谢谢!
【问题讨论】:
尝试这样做:
rename -n 's/^(.{4}).{22}(.{3}).{4}(\..*)/$1$2$3/' *
验证您的rename 命令是perl 的命令,有时还安装了另一个命令。好的有时称为prename。
当测试正常时,移除-n 开关(试运行)。
【讨论】: