我使用下面的命令:如何告訴嫋嫋不覆蓋
$ xargs -n 1 curl -o -O < ../completeresultlist.txt
哪裏../completeresultlist.txt是我的文件列表我要下載所在。但是,其中一些文件雖然來自不同的目錄,但名稱相同。我想獲得列表中的所有文件,那麼如何避免覆蓋?看起來curl只是在發現重複時覆蓋。
我使用下面的命令:如何告訴嫋嫋不覆蓋
$ xargs -n 1 curl -o -O < ../completeresultlist.txt
哪裏../completeresultlist.txt是我的文件列表我要下載所在。但是,其中一些文件雖然來自不同的目錄,但名稱相同。我想獲得列表中的所有文件,那麼如何避免覆蓋?看起來curl只是在發現重複時覆蓋。
不幸的是,我不認爲這個功能是支持的,但它在to-do list上。另一種選擇是使用wget,它有support不覆蓋文件。
嗯,它看起來像wget這是默認情況下。我正在尋找抑制這種覆蓋的'-nc'選項。 –
wget完美工作。這不完全是一個答案,如何讓curl做到這一點,但我相信它會幫助別人尋找答案。重寫像'文件','file.1'等 –
@MarkLyons很高興聽到你有它的工作。 – Garett
我想下面的腳本應該這樣做:
while read url; do
if [ ! -e $(basename "$url") ]
then curl -O "$url"
else echo "Skipping $url because file already exists" # Leave out if you want silence
fi
done < ../completeresultlist.txt
原諒我,如果我做錯了,但我只是粘貼到終端,它看起來像下載文件,但我在目錄中唯一的東西是一個名爲'-O'的文件 –
已取消'-o'選項,應該修復它。我從這個問題的原始命令中拿出了那個,我認爲那部分工作正常。 – Barmar
您可以使用wget來代替。它默認會重命名副本。 – aragaer