2012-01-06 44 views
0

出於某種原因,mv在我的bash腳本中無法正常工作。 這個腳本應該重命名爲空格Bash:mv:指定的目標不是目錄

ls *mp3 > ls2.txt 

while read line 
do 
     sed_name=$(echo $line | sed 's/ /_/g' | sed "s/'//g") 
     mv "'"$line"'" "'"$sed_name"'"; 
done < ls2.txt 

rm ls2.txt 

MP3文件,但我發現了以下錯誤MV:指定的目標不是一個目錄(MV:указаннаяцельнеявляетсякаталогом)

+2

這是令人費解的,你爲什麼不只是做'因爲我在* .MP3;做...; done'? – fge 2012-01-06 10:42:08

+0

這種方式看起來更容易。我會盡力感謝 – 2012-01-06 10:55:47

回答

1

而不是 「'」 $行 「」「 ..只是嘗試

MV 」$「 」行$ sed_name「

+0

奇怪我以爲我嘗試過......但那是問題所在。謝謝。 – 2012-01-06 10:56:40

+0

此外,在echo命令('echo「$ line」')中使用雙引號,或者在連續有多個空格的文件名時遇到問題。 – 2012-01-06 15:21:02