curl
tiene la opción -o
, --output
que toma un solo argumento que indica que se debe escribir la salida del nombre de archivo en lugar de stdout
. Si está utilizando {}
o []
para rodear elementos en la URL (generalmente se usa para recuperar varios documentos), puede usar #
seguido de un número en el especificador de nombre de archivo. Cada una de estas variables se reemplazará con la cadena correspondiente para la URL que se busca. Para buscar varios archivos, agregue una lista de tokens separados por comas dentro de {}
. Si partes de las URL que se van a buscar son números secuenciales, puede especificar un rango con []
.
Ejemplos:
curl http://www.abc.com/123/{def}/{ghi}/{jkl}.mno -o '#1_#2_#3.mno'
Tenga en cuenta las comillas alrededor del argumento de la opción (no es necesario a menos que el nombre de archivo comience con una de las variables expandidas). Esto debería dar como resultado el archivo de salida def_ghi_jkl.mno
.
curl http://www.abc.com/123/{def}/{ghi}/{jkl,pqr,stu}.mno -o '#1_#2_#3.mno'
Esto debería dar como resultado los archivos de salida def_ghi_jkl.mno
, def_ghi_pqr.mno
y def_ghi_stu.mno
.
curl http://www.abc.com/123/{def}/{ghi}/[1-3].mno -o '#1_#2_#3.mno'
Esto debe resultar en los archivos de salida def_ghi_1.mno
, def_ghi_2.mno
, def_ghi_3.mno
.
Aquí hay un truco de sustitución de Bash
{$link:23: 23}
eliminará " http://www.abc.com/123/ " y${parameter:offset:length}
luegotr
lo reemplazará/
por_
.Así que ahora puedes usarlo fácilmente con wget o curl
También podemos usar awk, esto extraerá los últimos tres archivos de la cadena de entrada:
fuente
El nombre de archivo que necesita no puede derivarse por
wget
sí mismo, por lo que debe ser manejado por un script de shell:O si te gusta como una línea:
fuente
Si prefiere el rizo, la forma más directa es:
nombre de archivo: el nombre del archivo descargado
ID del archivo: el ID del archivo en la vista web de Google Drive en el formato https://drive.google.com/file/d/ ID / vista del archivo
fuente