Algumas abordagens:
- Do
umask 222
(ouumask 277
, se o seu umask tiver atualmente 77, ou seja, adicione 200 ao seu umask). Isso fará com que todos os arquivos criados por você sejam protegidosr--
(qualquer) em vez derw-
(qualquer) , então, uma vez que você criou um arquivo, você não deve ser capaz de sobrescrevê-lo semchmod
ing primeiro (a menos que você esteja executando como root ). Isso responde à pergunta que você colocou em seu título, mas isso não resolve o seu problema; Significa apenas que você baixará e manterá com sucessoa/1.pdf
e perderáb/1.pdf
, e não o contrário. (Se for algum consolo, você receberá mensagens de erro alertando você sobre as colisões.) - O problema parece estar no seu arquivo
gwurls.txt
, que ingenuamente lista os doisa/1.pdf
eb/1.pdf
, então tente consertá-lo lá. Mangle comsed
ou algo parecido com
a/1.pdf a_1.pdf b/1.pdf b_1.pdf
… e, em seguida, escreva um script que execute curl
com uma URL de $1
e uma especificação de saída de $2
e execute
xargs -n 2
your_script< modified_gwurls.txt
então xargs
será executado
your_script
a/1.pdf a_1.pdf
your_script
b/1.pdf b_1.pdf
Isso fica confuso se algum dos nomes de arquivo tem espaço em branco neles, mas eu acho que isso não é possível para URLs, é?