Regex 基于正则表达式重命名一组文件

Regex 基于正则表达式重命名一组文件,regex,linux,Regex,Linux,我希望在我的ubuntu框中重命名大量类似以下内容的文件: MattTest Season 01 Episode 02 - Episode Name.mkv 希望它们看起来像这样: MattTest S01E02 - Episode Name.mkv 谢谢您可以尝试下面的重命名命令\K在期末打印时保留以前匹配的字符。也就是说,将不考虑在\K之前匹配的字符 rename 's/^\S+\s+\K(.)\S*\s+(\S+)\s+(.)\S*\s+(\S+)/$1$2$3$4/' *.mkv

我希望在我的ubuntu框中重命名大量类似以下内容的文件:

MattTest Season 01 Episode 02 - Episode Name.mkv
希望它们看起来像这样:

MattTest S01E02 - Episode Name.mkv

谢谢

您可以尝试下面的重命名命令
\K
在期末打印时保留以前匹配的字符。也就是说,将不考虑在
\K
之前匹配的字符

rename 's/^\S+\s+\K(.)\S*\s+(\S+)\s+(.)\S*\s+(\S+)/$1$2$3$4/' *.mkv


这起作用了。谢谢
rename 's/^\S+\s+\K(.)\S*\s+(\d+)\s+(.)\S*\s+(\d+)/$1$2$3$4/' *.mkv