我有一组名为类似的文件
20151016_174721.jpg
我想将它们重命名为
2015-10-16 17.47.21.jpg
我尝试使用以下命令使用rename
:
rename -n "s/(\d{4})(\d{2})(\d{2})_(\d{2})(\d{2})(\d{2}).*$/$1-$2-$3 $4.$5.$6.jpg/" *.jpg
但它最终告诉我
20151016_174721.jpg renamed as -- ...jpg
我不明白为什么。
最佳答案
您可以使用:
rename 's/(\d{4})(\d{2})(\d{2})_(\d{2})(\d{2})(\d{2})(.*)$/$1-$2-$3 $4.$5.$6$7/' *.jpg
确保在模式中使用单引号以避免 shell 尝试扩展 $1
、$2
等。
关于regex - 在linux中使用正则表达式重命名文件,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/34859158/