重命名文件名并从中提取模式

重命名文件名并从中提取模式

我有一个文件名列表abc1.docabc2.doc等等。始终采用文本[数字].doc 的形式。我希望它们重命名为 [number].text.doc。

我怎样才能做到这一点?

答案1

您可以使用prename( rename) perl 脚本perl在 Debian/Ubuntu 中随软件包一起提供。它实际上是原始rename脚本的一个分支。要解决您的问题,您可以执行以下操作:

rename -n 's/^([^[:digit:]]+)([^.]+)/$2\.$1/' *.doc 

-n用于试运行,如果您对更改感到满意,请删除-n

测试 :

$ rename -n 's/^([^[:digit:]]+)([^.]+)/$2\.$1/' *.doc 
abc10.doc renamed as 10.abc.doc
abc1.doc renamed as 1.abc.doc
abc2.doc renamed as 2.abc.doc
abc3.doc renamed as 3.abc.doc
abc4.doc renamed as 4.abc.doc
abc5.doc renamed as 5.abc.doc
abc6.doc renamed as 6.abc.doc
abc7.doc renamed as 7.abc.doc
abc8.doc renamed as 8.abc.doc
abc9.doc renamed as 9.abc.doc

相关内容