在bash中重命名文件失败
我需要将文件从“some string[blah].srt”重命名为“some.string.srt” 我使用:在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
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
?我希望你不要。