regex - 重命名树中具有包含在基本名称中的扩展名的文件
问题描述
我在 CentOS 服务器上的一个目录(以及许多子目录)中有一堆文件,这些文件的扩展名意外地粘在了基本名称上,就像这样。
12345jpg
我想将它们全部重命名为
12345.jpg
我很接近这个命令,但不能完全让重命名正则表达式工作。
find . -type f ! -name "*.*" -exec rename 's/([0-9]{5})(.*)/$1.$2/'
更新:使用 sed 而不是重命名会更好吗?像这样?(目前也不起作用)
find . -type f ! -name "*.*" -exec sed -i '' s/([0-9]{5})(.*)/1.2/g {} ;