Regex 在linux中使用正则表达式重命名文件
我有一组名为like的文件Regex 在linux中使用正则表达式重命名文件,regex,terminal,rename,Regex,Terminal,Rename,我有一组名为like的文件 20151016_174721.jpg 我想把它们重新命名为 2015-10-16 17.47.21.jpg 我尝试使用重命名,方法如下: 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 '
20151016_174721.jpg
我想把它们重新命名为
2015-10-16 17.47.21.jpg
我尝试使用重命名,方法如下:
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
等