我正在尝试重命名 .srt 文件。这些文件目前的名称如下:
星际之门SG1.s02e19.One.False.Step.AC3.DVDRip.DivX-AMC.srt
我希望生成的文件是:
星际之门SG1.s02e19.srt
研究了重命名一段时间后,我想出了以下命令:
重命名 -n 's/(\d{19})/$1.srt/' *.srt
该方法应该保存前 19 个字符并删除其余字符,然后将 .srt 附加到前 19 个字符。但是它不起作用,我被难住了。我搜索了这个问题,但找不到任何帮助,据我所知,这个应该有效。任何帮助都将不胜感激。谢谢
答案1
$ rename -n 's/^(.{18}).*$/$1.srt/' *.srt
StargateSG1.s02e19.One.False.Step.AC3.DVDRip.DivX-AMC.srt renamed as StargateSG1.s02e19.srt
你有两个问题:
\d
代表任意数字,而您需要.
的是任意字符。- 您没有匹配文件名的其余部分,因此替换操作不会将其删除。