我正在尝试使用 Cygwin 重新组织我的音乐文件夹。目前它是 iTunes 格式
{Artist}/{Album}/Song ##.mp3
我想将专辑文件夹复制到父文件夹并添加艺术家姓名,因此
~/{Artist}/{Album}
变成~/{Artist} - {Album}
但我在编写一个有效的脚本时遇到了麻烦。尝试过这个:
for i in ~/music/*; { mv $i ~/'basename - $i';}
毫无效果。有什么帮助吗?谢谢!
答案1
尝试:
cd ~/music
find . -type f | while read i; do album=${i/*\//}; temp=${i/.\//}; artiste=${temp/\/*\/*/}; song=${i/.\/*\/*\//}; mkdir ~/music/$artiste"-"$album; mv $i ~/music/$artiste"-"$album/$song; done
不过我建议先使用 cp 而不是 mv。以防万一……这个脚本也不会删除旧文件夹。
基本上,它读取每个文件的完整路径名。然后提取诸如艺术家姓名、歌曲标题和专辑标题之类的信息。然后它会处理这些信息以提供您想要的目录样式。