2016-11-12 33 views
0

冰淇淋命名這樣的文件:nnnn-artist-songtitle。冰淇淋:我怎樣才能讓冰淇淋不會以數字開頭的文件命名

我怎樣才能將其更改爲:藝術家SONGTITLE

我想它像

icecream --name="......"

,但我不能找到一種方法。該名男子的網頁我有這個節目

冰淇淋/ 1.3 用法:冰淇淋[選項] 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也爲藝術家和歌曲名稱,但看起來他們是無證,而這正是我的問題

請幫助。

+1

根據手冊頁,它只接受'date'命令中可用的標誌。 –

+0

我想問問那個降級我的問題的聰明屁股爲什麼這麼做。 –

+1

在問題上投票的用戶不會收到通知,因此您可能永遠不會知道。我用反對票爲你中和了它。 –

回答

1

icecream是一個perl腳本,所以我們可以檢查是否確實存在未記錄的%-code,正如您懷疑的那樣。只要打開腳本,看看它是如何做(線1135在V1.3):

$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腳本的副本,並僅在播放列表中使用修改後的版本,因爲您確定這些名稱是唯一的。