通过提取与模式匹配的部分文件名来重命名文件

Watchanan

我想知道我可以使用哪个命令来重命名这样的文件。

举例来说,旧的文件名是:

0_predict-1-500.png
0_predict-2-500.png
0_predict-3-500.png
1_predict-1-500.png
1_predict-2-500.png
1_predict-3-500.png
2_predict-1-500.png
...so on...

我期望的是使用格式提取它们{filename}_predict-{times}-{rounds}.png,然后将其替换为另一种模式,例如{filename}.png-result-{times}.png

因此,上述文件名将进行更改以匹配模式:

0.png-result-1.png
0.png-result-2.png
0.png-result-3.png
1.png-result-1.png
1.png-result-2.png
1.png-result-3.png
2.png-result-1.png
...so on...

是否有人拥有Linux命令/工具来执行此类操作?我不想编写Python脚本来完成此操作。

Watchanan

我刚刚发现,有一个工具可以在GNU / Linux中轻松操纵文件名mmv这比发布的答案要容易得多。

就我而言

mmv "*_predict-*-*.png" "#1.png-result-#2.png"

它试图用通配符模式来替代每个部分,因此,我们可以重新使用与零件#1#2等。

本文收集自互联网,转载请注明来源。

如有侵权,请联系 [email protected] 删除。

编辑于
0

我来说两句

0 条评论
登录 后参与评论

相关文章

重命名与模式匹配的文件名部分

如何通过移动文件名中的模式来重命名一组文件

根据部分文件夹中的部分文件名匹配,重命名文件名的子字符串

通过减去值来重命名文件名的末尾

根据同一文件夹中的部分文件名匹配重命名文件名的子字符串

通过使用Shell脚本替换文件名中的特定模式来重命名多个文件

如何通过在Windows中的文件名之间添加通用名来重命名多个文件?

如何从列表中递归重命名一部分文件名?

通过提取文件名和扩展名的第一部分来重命名文件夹中的文件(R 编程)

通过增加文件名中的数字来重命名文件

如何通过在文件名中的任意位置填充数字来重命名文件?

通过重新排列原始文件名来重命名多个文件

如何通过在原始文件名前添加序列号来重命名文件?

通过将中间字符串移动到文件名末尾来重命名文件

PowerShell重命名多个文件,文件名的特定部分

通过将字符串从文件名的后面移动到前面来重命名文件名

通过修剪文件名末尾的'\ n'重命名文件

重命名文件名

Powershell通过按升序替换n个字符来重命名文件名

通过在文件名后附加前缀来重命名

通过用另一个模式替换一个模式来递归地重命名存储库和文件名

根据部分文件名和部分单元格内容自动重命名工作表

批量重命名文件名,包括空格和模式

bash重命名不同目录中文件名的部分

通过将文件名与文本文件中的名称进行比较来重命名文件

拆分字符串以提取部分文件名

通过Bash重命名和转换文件名

通过替换模式来批量复制和重命名文件

如何通过移动/替换字符并在文件名中转换日期格式来重命名bash中的多个文件?