在bash中重命名文件失败

在bash中重命名文件失败,bash,file-rename,mv,Bash,File Rename,Mv,我需要将文件从“some string[blah].srt”重命名为“some.string.srt” 我使用: mv -v "$file" "$newfile.srt" $newfile是带有点而不是空格的$file 我得到以下错误: mv: rename dir1/Some string[blah].srt* to dir1/Some.string.srt: No such file or directory 以下是变量值和目录内容: dir content: total 715368

我需要将文件从“some string[blah].srt”重命名为“some.string.srt”

我使用:

mv -v "$file" "$newfile.srt"
$newfile是带有点而不是空格的$file

我得到以下错误:

mv: rename dir1/Some string[blah].srt* to dir1/Some.string.srt: No such file or directory
以下是变量值和目录内容:

dir content:
total 715368
-rwxr-xr-x  1 Dahan  staff    43K Nov 29  2012 Some string S01E12[blah].srt*
-rw-r--r--  1 Dahan  staff   349M Mar 26 20:42 Some.string.S01E12.avi
newfilename: /Users/Dahan/dir1/Some.string.S01E12.srt
file: /Users/Dahan/dir1/Some string S01E12[blah].srt*
mv: rename /Users/Dahan/dir1/Some string S01E12[blah].srt* to    /Users/Dahan/dir1/Some.string.S01E12.srt: No such file or directory
不知何故,如果我从文件中删除[blah]部分,它可以正常工作


知道我做错了什么吗?

问题显然是


它适用于.avi文件,因为它没有执行权限,因此
ls-F
不会在文件名后附加星号。

请显示变量的值和目录的内容。它似乎正在将
[blah]
解释为字符类。。。试着在
[
]
前面加一个\号。还有一个星号@oridahan,您不能将通配符放在引号内并期望它们被展开。@glennjackman文件名只是“Some string[blah].srt”,没有星号。您的错误消息不是这样说的。如何填充
$file
?我希望你不要。