我有一个来自 Windows pc 的旧备份,但大多数文件最后都有一个时间戳。所有文件都需要保留其原始名称,但没有该时间戳。
如何(2019_04_12 11_03_06 UTC)
从多个文件夹中的所有文件中删除特定部分。
示例文件:
messages (2019_04_12 11_03_06 UTC).properties
maintenancemode (2019_04_12 11_03_06 UTC).jar
据我所知,所有文件都有相同的时间戳
我有一个来自 Windows pc 的旧备份,但大多数文件最后都有一个时间戳。所有文件都需要保留其原始名称,但没有该时间戳。
如何(2019_04_12 11_03_06 UTC)
从多个文件夹中的所有文件中删除特定部分。
示例文件:
messages (2019_04_12 11_03_06 UTC).properties
maintenancemode (2019_04_12 11_03_06 UTC).jar
据我所知,所有文件都有相同的时间戳
perl
rename
命令功能强大。它可以查找字符串模式并替换它们。如果您的文件有类似的时间戳,这将起作用:这将删除所有看起来像
(2019...)
. 因此,某些文件是否具有不同的时间戳并不重要。?
通过附加到.*
(感谢 Steeldriver)使匹配变得非贪婪。因此,表达式将只匹配字符直到第一次出现)
,而不是字符串中可能出现的其他字符。该
-n
选项使命令仅显示将要执行的操作。重命名没有有效地完成。这使您可以首先仔细检查输出,如果它显示该命令将执行您想要的操作,请重新运行它而不-n
选择实际继续重命名。默认情况下可能未安装该工具。您可以使用以下方式安装它:
我用这段代码解决了这个问题