5 votos

Descargar archivos con wget en una lista pero ahorra con un patrón específico de nomenclatura

Esta pregunta es similar a la Descarga de archivos de una lista , pero no es lo mismo que quiero ir más allá de este. Por favor, no cierre como un duplicado.

Tengo una lista de archivos a descargar en un archivo de texto foo.txt. Hay un directorio foo el que estoy, y yo uso wget -i ../foo.txt a tirar de los archivos de abajo. Todo eso está bien y dandy.

Sin embargo, lo que necesita hacer es descargar los archivos de allí con un tipo específico de modelo de nomenclatura. Es derribar json archivos que están siendo escupido por llamadas a la API para un servidor específico, pero la necesito para ser guardado en un patrón específico, tales como foo_1.json, y porque no es en realidad la vinculación a un foo_1.json archivo no guardar como tales.

Hay alguna forma de ampliar la wget funcionalidad para guardar los archivos de descarga en un determinado patrón de nombre de archivo, digamos, de forma secuencial?

Si no, la alternativa de la CLI métodos no usar wget son aceptables.

6voto

Stewart Puntos 1385

Siempre se puede usar un shell de bucle:

while read url; do wget -O foo_$((++i)).json "$url"; done < list.txt

El archivo list.txt es su lista de direcciones Url, uno por línea. Esto es leído por el bucle while, cada URL se guarda como $url, wget descarga y el -O indica para guardar en un archivo llamado foo_N.json donde N es el valor actual de $i. Desde $i se incrementa en cada iteración ($((++i))), esto se traducirá en un aumento de la secuencia de nombres de archivo.

EnMiMaquinaFunciona.com

EnMiMaquinaFunciona es una comunidad de administradores de sistemas en la que puedes resolver tus problemas y dudas.
Puedes consultar las preguntas de otros sysadmin, hacer tus propias preguntas o resolver las de los demás.

Powered by: