我想出了这个:
for i in *;
do input=`echo $i|sed -e 's/[ ]/\\\ /g'`;
output=`echo $input".mp3"`;
mv $input $output; done
它非常接近,但它抱怨:
mv: invalid option — ‘\’
我不太明白为什么它不起作用如果我尝试回显$input或$output他们似乎都正确地逃避了文件名中的所有空格而已.
解决方法:
看起来你使用sed(和echo)会大大过度复杂化……
您正试图在文件名中转义空格字符,但实际上您只需要将文件名括在引号中.你可以简单地做……
for i in *; do
mv "${i}" "${i}.mp3"
done
版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 [email protected] 举报,一经查实,本站将立刻删除。