带括号的双序列?

Double sequence with brackets?

我想知道是否有一种简单的方法可以生成类似于花括号的双序列。

我想生成一个像这样的双序列:

eog directory1/somethingelse/file2.png  directory3/somethingelse/file6.png ...  directory25/somethingelse/file50.png

目录和文件的顺序是规则的(我的意思是,例如,{1..25..2} 代表目录,{2..50..4} 代表文件)。

我想知道是否有一种简单的方法来生成序列而不是使用包含所有值的向量。我的意思是

eog directory[someOpenedBracket]1..25..2[someClosedBracket]/somethingelse/file[someOpenedBracket]2..50..4[someClosedBracket].png

提前致谢

我认为这就是您可以使用 Bash 实现的全部。

eog $(i=0; while ((++i<=25)); do echo dir$i/file$((i++*2)); done)

您可以填充 2 个单独的数组并循环遍历它们:

dirs=(directory{1..25..2})
files=(file{2..50..4})

for ((i=0; i<${#dirs[@]}; i++)); do
    printf '%s ' "${dirs[i]}/somethingelse/${files[i]}.png"
done
echo

输出:(在输出中出现在一行中)

directory1/somethingelse/file2.png
directory3/somethingelse/file6.png
directory5/somethingelse/file10.png
directory7/somethingelse/file14.png
directory9/somethingelse/file18.png
directory11/somethingelse/file22.png
directory13/somethingelse/file26.png
directory15/somethingelse/file30.png
directory17/somethingelse/file34.png
directory19/somethingelse/file38.png
directory21/somethingelse/file42.png
directory23/somethingelse/file46.png
directory25/somethingelse/file50.png