我最近从 Windows 切换到 Linux,而我在 Windows 中使用的播放器将 flac 文件的评级存储在 id3v2 文件中,而我首选的 Linux 媒体播放器 clementine 无法读取该文件。我想创建一个大型播放列表,格式为 m3u、xspf、pls、asx、asx/ini、cue,我可以导入这些格式并手动设置评级(批量)。我拥有的文件是查找音乐文件的结果,其中 grep 在文件中找到“rating=x”或“Rating.x”。
ETA:输入文本文件如下所示:
./The Future Sound of London/The Isness/11 - Meadows.flac
./The Velvet Underground/The Velvet Underground/04 - Pale Blue Eyes.flac
./The Velvet Underground/The Velvet Underground/09 - The Murder Mystery.flac
./The Velvet Underground/The Velvet Underground/10 - After Hours.flac
./Sheryl Crow/C'mon, C'mon/02 - Soak Up The Sun.flac
./Sheryl Crow/Tuesday Night Music Club/11 - I Shall Believe.flac
./Sheryl Crow/Tuesday Night Music Club/07 - No One Said It Would Be Easy.flac
答案1
您只需将以下行添加到文件顶部(并赋予其 .m3u 扩展名)即可将这种相对路径转换为 m3u 播放列表。
#EXTM3U
作为参考,这是新文件的前几行。
#EXTM3U
./Plain White T's/Every Second Counts/13 - Hey There Delilah.flac
./The Police/Every Breath You Take- The Singles/07 - Every Little Thing She Does Is Magic.flac
./The Police/Every Breath You Take- The Singles/10 - Every Breath You Take.flac
./The Police/Every Breath You Take- The Singles/11 - King Of Pain.flac
./Roger Waters/Amused to Death/11 - Watching TV.flac
为了将来参考,您可以从命令行运行以下命令来生成带有“rating=1”或类似标签的播放列表。
for i in {1..5}; do printf "#EXTM3U\n" > ${i}star.m3u; find . -type f -exec grep -i -l --text "rating.$i" '{}' \; >> ${i}star.m3u; done