感谢您花点时间阅读本文,此时我正在尝试使用 icecast 完成和润色一个小广播电台,实际上一切都已经开始工作了。
但是有一个名为 ezstream 的程序,它只是在没有人直播的时候将音乐流式传输到 icecast,它是最常见的 autodj,它使用播放列表。
说播放列表可以播放一次,然后程序关闭,这正是我想在这里利用的,我设法自动创建了两个不同的播放列表,一个包含所有音乐,另一个包含广告、叮当声和声音字节,基本上它们是只是存储在计算机上的文件列表。像下面这样,显然他们有名字和东西。
这将是播放列表1
/home/mp3/albums/album1/title1.mp3
/home/mp3/albums/album1/title2.mp3
/home/mp3/albums/album1/title3.mp3
/home/mp3/albums/album1/title4.mp3
/home/mp3/albums/album1/title5.mp3
/home/mp3/albums/album2/title1.mp3
/home/mp3/albums/album2/title2.mp3
/home/mp3/albums/album2/title3.mp3
/home/mp3/albums/album2/title4.mp3
/home/mp3/albums/album2/title5.mp3
playlist2 非常相似,但它只包含广告,所以看起来像这样
/home/mp3/commercials/commercial1.mp3
/home/mp3/commercials/commercial2.mp3
/home/mp3/commercials/commercial3.mp3
/home/mp3/commercials/commercial4.mp3
/home/mp3/commercials/commercial5.mp3
我严重卡住的部分是以 2:1 或 3:1 的比例合并那些(如果你能帮我处理这两个代码,那也很棒。
最终输出应该看起来像这样
/home/mp3/albums/album1/title1.mp3
/home/mp3/albums/album1/title2.mp3
/home/mp3/commercials/commercial1.mp3
/home/mp3/albums/album1/title3.mp3
/home/mp3/albums/album1/title4.mp3
/home/mp3/commercials/commercial2.mp3
/home/mp3/albums/album1/title5.mp3
/home/mp3/albums/album2/title1.mp3
/home/mp3/commercials/commercial2.mp3
依此类推,直到两个文件完全合并,到目前为止,我只设法找到此代码,但由于某种原因它不起作用,它给出了与语法相关的错误并缺少 < 符号。
AWK 代码:
awk ‘FNR==NR{
song[FNR]=$0;
next
}
{
print song[FNR+line];line++;
print song[FNR+line]
print $0
}’ playlist1.m3u playlist2.m3u
所有这些都应该输出到第三个文件说mergedplaylists.m3u
我没有创建该代码,尽管我已经尝试摆弄了一段时间,但我不太清楚的一件事是为什么它在那里说“歌曲”,可以将其更改为其他内容吗?说“专辑”?
该代码根本不起作用,也没有在输出文件中写入任何内容(我也不知道它是否正确)。
我希望 some1 可以帮助我处理特定情况,AWK 似乎很有帮助,但它非常神秘,我发现很多问题来理解它......
再次感谢你