URLのリストに年数の配列を挿入する

URLのリストに年数の配列を挿入する

以下の例のような URL のリストがあります。

/test/test

私も年を重ねてきました

[1999, 2000, 2001].  

以下のように、年を挿入した URL のリストを印刷するタスクを自動化する方法を探しています。

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

これを自動化する必要はないのでsed、、awkまたは、pythonすべて問題ありません。

答え1

「URL」を 1 つだけ指定すると、次の Python プログラムはそれらのリストをサポートします。

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

コツは、年を 2 番目の位置に挿入することです。 の最初の位置はspliturl空の文字列 (つまり、最初の の前の文字列/) です。

答え2

ここに一つのbash解決策があります:

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

答え3

どうですか

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

あるいは

echo test/{1999..2001}/test

関連情報