0

我想使用这样的命令自动创建一个 URL 列表:

echo www.somewebsite.com/{1,2,3}_{foo,bar}/{1,2,3}

但我想要表单中的所有链接

www.somewebsite.com/1_foo/1
www.somewebsite.com/1_foo/2 ...

我只想要那些数字匹配的人。也就是说,我想要第一个,因为两个数字都匹配,但不是第二个,因为数字不匹配。

4

2 回答 2

2

也许这对你更有效:

for num in `seq 1 3`
do
  printf "%s\n" www.somewebsite.com/${num}_{foo,bar}/${num}
done
于 2017-02-05T18:52:21.830 回答
0

{1..3}展开移动到一个单独的循环:

for x in {1..3} ; do 
    echo www.somewebsite.com/${x}_{foo,bar}/${x}
done

如果您需要使用变量,请使用C样式循环:

i=1
j=3     
for ((x=i; x<=j; x++)); {
    echo www.somewebsite.com/${x}_{foo,bar}/${x} | tr ' ' '\n'
} 

无论哪种情况:

www.somewebsite.com/1_foo/1 www.somewebsite.com/1_bar/1
www.somewebsite.com/2_foo/2 www.somewebsite.com/2_bar/2
www.somewebsite.com/3_foo/3 www.somewebsite.com/3_bar/3

如果您想要每行 1 个,请添加echo www.somewebsite.com/${x}_{foo,bar}/${x} | tr ' ' '\n'

于 2017-02-05T23:29:29.583 回答