我有很多文件的名称具有以下格式: GroupName - SongName-id.mp3
其中id是11个字符长。我想将它们移动到目录中,例如文件GroupName - SongName-id.mp3
将被重命名为GroupName/SongName.mp3
我已经在网络上进行了一些研究(如this),但我不知道如何使用grep检索GroupName
和SongName
。 编辑:GroupName目录可以已经存在或不存在,它取决于。在Bash中,根据名称将文件移动到目录
我第一次使用下面的脚本尝试:
#!/bin/bash
for filename in *.mp3;do
group=$(echo $filename | grep -oE ".* - .*-.{11}\.mp3")
# I don't know what regex should I place above
# do all the other stuff here ...
done
不'GroupName'已经存在? – RomanPerekhrest
请先做一点研究。 Stack Overflow中已经有很多*相关的问题。 – chepner
@chepner是的,我看到后,我仍然不知道如何检索GroupName和SongName。 – Johan