2017-07-19 89 views
0

當我如下wget的文件,文件與文件名下載爲sample.txt的?ST = 2017-07-19T06%3A00%3A00Z」如何單獨保存的文件名的文件在下載使用wget

wget "https://sample.blob.core.windows.net/test/sample.txt?st=2017-07-19T06%3A00%3A00Z" 

使用wget命令下載時,我不想使用如下,因爲它不適合我的情況。

wget -O $filename -q "https://sample.blob.core.windows.net/test/sample.txt?st=2017-07-19T06%3A00%3A00Z" 

但我要保存的文件名作爲sample.txt的,如何實現這一目標?

+0

該文件末尾的內容稱爲_query_,[超級用戶上的此答案](https://superuser.com/a/327254)可能會有所幫助。 –

+0

@anubhava它不適合我,因爲我下載的文件數量更多。我不想提供每個文件名作爲靜態。引用我的問題。 – karan

+1

您可以提供要下載的URL,並且可以很容易地從該URL導出文件名。 – anubhava

回答

2

如果我的理解是正確的,下面的腳本應該工作。

##set your blob url 
url="https://sample.blob.core.windows.net/test/sample.txt?st=2017-07-19T06%3A00%3A00Z" 
filename="${url%%[?]*}"; filename="${filename##*/}" 

wget -O $filename -q $url 

注意:如果使用此腳本,則文件名不能包含?

+0

這些外部進程不是必需的。你可以使用shell:'filename =「$ {url %% [?] *}」; filename =「$ {filename ## * /}」' – John1024

+1

非常感謝,它的工作原理。我會更新我的答案。 –

+0

@ Walter-MSFT這是什麼=> file = $(basename「$ url」); filename = $(echo $ file | cut -f1 -d「?」)。這也適用。哪個更好? – karan

相關問題