Como você renomeia arquivos especificamente em uma lista que o wget usará?

5

Eu tenho um arquivo com uma lista de links para alguns vídeos do youtube.

Quando eu executo o comando:

wget -i list

Tudo funciona muito bem, no entanto, o wget está automaticamente renomeando os arquivos para o jargão no final de cada link. Executar o wget manualmente não é uma opção porque há muitos links. Como faço para dar um nome personalizado aos links que o wget reconhecerá?

    
por Joey Quinn 14.04.2015 / 22:35

3 respostas

8

A opção -O permite especificar o nome do arquivo de destino. Mas se você estiver baixando vários arquivos de uma só vez, wget salvará todo o conteúdo deles no arquivo especificado por -O . Note que em ambos os casos, o arquivo será truncado se já existir. Consulte a página de manual para mais informações.

Você pode explorar essa opção informando wget para fazer o download dos links um a um:

while IFS= read -r url;do
    fileName="blah" # Add a rule to define a new name for each file here
    wget -O "$fileName" "$url"
done < list

Você também pode obter Sugestão de JJoao e adicione um nome de arquivo ao lado de cada URL no arquivo e faça:

while IFS= read -r url fileName;do
    wget -O "$fileName" "$url"
done < list

onde é assumido que você adicionou um nome de arquivo (exclusivo) após cada URL no arquivo (separado por um espaço).

    
por 15.04.2015 / 00:21
2

Simplifique, não complique a sua vida ...

faça um script bash chamá-lo list.sh e adicione as linhas

wget url -O your-filename 
wget url2 -O your-filename2

quantos quiser e torná-lo executável

chmod 775 list.sh

a execução ./list.sh

    
por 23.03.2016 / 08:22
1

Você pode querer dar uma olhada em youtube-dl manpage.

youtube-dl -a URL-file -o '-o "%(autonumber)s-%(title)s.%(ext)s"

(não testado)

    
por 15.04.2015 / 10:34

Tags