加入收藏 | 设为首页 | 会员中心 | 我要投稿 李大同 (https://www.lidatong.com.cn/)- 科技、建站、经验、云计算、5G、大数据,站长网!
当前位置: 首页 > 综合聚焦 > 服务器 > 安全 > 正文

如何用bash生产笛卡尔产品?

发布时间:2020-12-15 19:01:25 所属栏目:安全 来源:网络整理
导读:我想生产这样的文件([1-3] X [1-5]的笛卡尔积): 1 11 21 31 41 52 12 22 32 42 53 13 23 33 43 5 我可以使用嵌套循环来执行此操作,如: for i in $(seq 3) do for j in $(seq 5) do echo $i $j donedone 有没有使用循环的解决方案? 结合两个 brace expansi
我想生产这样的文件([1-3] X [1-5]的笛卡尔积):
1 1
1 2
1 3
1 4
1 5
2 1
2 2
2 3
2 4
2 5
3 1
3 2
3 3
3 4
3 5

我可以使用嵌套循环来执行此操作,如:

for i in $(seq 3) 
do
  for j in $(seq 5)
  do
      echo $i $j
  done
done

有没有使用循环的解决方案?

结合两个 brace expansions!
$printf "%sn" {1..3}" "{1..5}
1 1
1 2
1 3
1 4
1 5
2 1
2 2
2 3
2 4
2 5
3 1
3 2
3 3
3 4
3 5

这通过使用单支撑扩展来工作:

$echo {1..5}
1 2 3 4 5

然后与另一个结合:

$echo {1..5}+{a,b,c}
1+a 1+b 1+c 2+a 2+b 2+c 3+a 3+b 3+c 4+a 4+b 4+c 5+a 5+b 5+c

(编辑:李大同)

【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容!

    推荐文章
      热点阅读