icecream将这样的文件命名为:nnnn-artist-songtitle。
如何将其更改为:artist-songtitle
我想它的类似
icecream --name="......"
,
但我找不到办法。我的手册页显示了这个
冰淇淋/ 1.3 用法:icecream [options] URL [URL ...]
options:
-h, --help print this message
-q, --quiet no printouts
-v, --verbose be verbose
-t, --tracks split into tracks when saving
--name=NAME save stream to file NAME. Format codes
are replaced as in the date command.
--stop=N[units] stop download after N (kb, mb, min, songs)
--user-agent=AGENT identify as AGENT stead of icecream/1.3
--stdout output stream to stdout (implies quiet)
--sync sync mpeg audio
--debug turn on debugging
我知道我可以使用今天日期作为输出的文件名
icecream -q --name 'radio_%Y_%m_%d' http://radio.com/playlist.pls
我想有艺术家和歌曲标题也有这样的%-codes,但看起来它们没有记录,这正是我的问题
请帮助。
答案 0 :(得分:1)
icecream
是一个perl脚本,因此我们可以检查是否确实存在未记录的%-code。只需打开脚本,看看它是如何完成的(v1.3中的1135
行):
$config->{name} = strftime($config->{name},localtime(time));
因此,当您使用--name
选项时,它只会调用POSIX函数strftime()
,as you can see here不会包含艺术家或歌曲标题的任何标记。
为什么您的文件的名称nnnn-artist-songtitle
可以在647
行找到:
my $fn = $trackid . $context->{title};
看起来它从播放列表中获得了标题并且预先设置了一个唯一的ID。如果您不希望在名称中包含ID,则可以将其删除并仅保留my $fn = $context->{title};
这将命名文件,因为它们在播放列表中命名。但是在此更改后,唯一性未被授予,因此某些文件可能会被覆盖。我建议制作icecream
脚本的副本,并仅在您确定名称唯一的播放列表中使用修改后的版本。