我的剧本的目标:
这就是我所拥有的:
#!/bin/bash
cd Music/TEST
for files in *
do
if [ -f "$files" ];then
# use mminfo to get the track info
genre=`mminfo "$files"|grep genre|awk -F: '{print $2}'|sed 's/^ *//g'|sed 's/[^a-zA-Z0-9\ \-\_]//g'`
if [ $genre = Heavy ] ;then
mv "$files" "~/Music/Output/$files"
fi
fi
done
请告诉我如何编写mv命令。我尝试的一切都失败了。我得到这样的错误:
mv:无法将'3rd Eye Landslide.mp3'移动到'/ Music / Output / 3rd Eye Landslide.mp3':没有这样的文件或目录
请不要认为我写了那个mminfo专栏 - 这只是从古老的谷歌搜索中复制过来的。它超越了我。
答案 0 :(得分:4)
mv
的第二个参数似乎是"~/Music/Output/$files"
如果~
表示您的主目录,则应使用$HOME
,例如:
mv "$files" "$HOME/Music/Output/$files"
~
在引用时不会扩展为$HOME
。
答案 1 :(得分:0)
通过它看,当您将文件移动到目的地时会出现问题。请检查/ Music / Output /退出当前目录。或者使用绝对路径使其安全。另外,最好不要在文件名中使用空格。希望这会有所帮助。:)
答案 2 :(得分:-1)
在mv命令之前放置此命令应解决您的问题。
mkdir -p ~/Music/Output