Tengo una lista de URL como el siguiente ejemplo.
/test/test
Yo también tengo una variedad de años.
[1999, 2000, 2001].
Estoy tratando de encontrar una manera de automatizar la tarea de imprimir una lista de URL con el año insertado como se muestra a continuación:
/test/1999/test
/test/2000/test
/test/2001/test
No necesito hacer esto de ninguna manera automatizada sed
, awk
¡o python
todo estaría bien!
Respuesta1
Si especifica solo una "URL", el siguiente programa Python admite una lista de ellas:
urls = [
'/test/test',
]
years = [1999, 2000, 2001]
for url in urls:
for year in years:
spliturl = url.split('/')
spliturl.insert(2, str(year))
print('/'.join(spliturl))
El truco consiste en insertar el año en la segunda posición, la primera posición spliturl
es la cadena vacía (es decir, la cadena antes de la primera /
).
Respuesta2
Aquí bash
también hay una solución:
declare -a a=(1999 2000 2001)
url='/test/test'
for i in "${a[@]}" ; do echo "$url" | sed "s:/:/$i/:2"; done
Respuesta3
Qué pasa
echo test/{1999,2000,2001}/test
o incluso
echo test/{1999..2001}/test