Warning: file_get_contents(/data/phpspider/zhask/data//catemap/4/regex/18.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Regex 在linux中使用正则表达式重命名文件_Regex_Terminal_Rename - Fatal编程技术网

Regex 在linux中使用正则表达式重命名文件

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 '

我有一组名为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 's/(\d{4})(\d{2})(\d{2})_(\d{2})(\d{2})(\d{2})(.*)$/$1-$2-$3 $4.$5.$6$7/' *.jpg
确保在模式中使用单引号,以避免shell试图展开
$1
$2