Tengo un archivo con una lista de enlaces a algunos videos de youtube.
Cuando ejecuto el comando:
wget -i list
Todo funciona bien, sin embargo, wget cambia automáticamente el nombre de los archivos al galimatías al final de cada enlace. Ejecutar wget manualmente no es una opción porque hay demasiados enlaces. ¿Cómo hago para dar un nombre personalizado a los enlaces que reconocerá wget?
Respuesta aceptada:
El -O
La opción le permite especificar el nombre del archivo de destino. Pero si está descargando varios archivos a la vez, wget
guardará todo su contenido en el archivo que especifique a través de -O
. Tenga en cuenta que en cualquier caso, el archivo se truncará si ya existe. Consulte la página del manual para obtener más información.
Puede explotar esta opción diciéndole a wget
para descargar los enlaces uno por uno:
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
También puede tomar la sugerencia de JJoao y agregar un nombre de archivo junto a cada URL en el archivo y luego hacer:
while IFS= read -r url fileName;do
wget -O "$fileName" "$url"
done < list
donde se supone que ha agregado un nombre de archivo (único) después de cada URL en el archivo (separado por un espacio).