regex - 根据正则表达式重命名一组文件

标签 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

或者

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

Regex Demo

关于regex - 根据正则表达式重命名一组文件,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/28627785/

相关文章:

xml - Actionscript/flex3 : Escape XML special characters like <, >, "and ' 标签内容内/内

html - 复制带有一些变化的行的正则表达式,镜像

regex - 使用 Perl 内嵌编辑,如何在第 N 次出现字符串后插入一行?

regex - 动态设置 RewriteBase 为当前文件夹路径

linux - 改变进程调度算法

regex - 如果另一个特定字符串不在同一行,则 Perl 正则表达式替换 : Substitute particular string,

linux - 如何接受 'Did you mean?' 终端/git 建议

linux - 安装 Apache solr Centos 5 专用服务器

linux - 修改树莓派的Debian镜像

c++ - 在 C 或 C++ 中同时在同一个套接字上读写