Insira uma matriz de anos em uma lista de URLS

Insira uma matriz de anos em uma lista de URLS

Eu tenho uma lista de URLS como o exemplo abaixo.

/test/test

Eu também tenho uma série de anos

[1999, 2000, 2001].  

Estou tentando encontrar uma maneira de automatizar a tarefa de imprimir uma lista de URLS com o ano inserido conforme abaixo:

/test/1999/test
/test/2000/test
/test/2001/test

Não preciso fazer isso de forma automatizada sed, awkou pythonficaria tudo bem!

Responder1

Você especifica apenas um "URL", o seguinte programa Python oferece suporte a uma lista deles:

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))

O truque é inserir o ano na segunda posição, a primeira posição spliturlé a string vazia (que é a string antes da primeira /).

Responder2

Aqui está uma bashsolução também:

declare -a a=(1999 2000 2001)
url='/test/test'
for i in "${a[@]}" ; do echo "$url" | sed "s:/:/$i/:2"; done

Responder3

A respeito

echo test/{1999,2000,2001}/test

ou mesmo

echo test/{1999..2001}/test

informação relacionada