gpt4 book ai didi

bash - 使用 echo 生成元素组合

转载 作者:行者123 更新时间:2023-11-29 09:28:03 28 4
gpt4 key购买 nike

我需要准备一个简单的脚本来生成一组元素的所有可能排列,这些元素存储在 n 个元素组的变量中(n 个可参数化),我想到的最简单的解决方案是使用多个循环,具体取决于组的选定长度。但我认为利用 echo 命令生成组合的能力会更优雅,即

echo {1,2}{1,2}
11 12 21 22

所以使用这种方法,我试图实现一种通用的方法,使用元素列表(例如 {1,2})和元素数量作为输入参数。应该是这样的:

set={1,2,3,4}
group=3
for ((i=0; i<$group; i++));
do
repetition=$set$repetition
done

因此,在这种特殊情况下,在循环结束时,重复变量的值为 {1,2,3,4}{1,2,3,4}{1,2,3,4}。但是我无法找到使用此变量通过 echo 命令生成组合的方法。我已经尝试过,比如:

echo $repetition
echo $(echo $repetition)

我一直坚持下去,如果有任何提示或帮助,我将不胜感激。

最佳答案

您可以使用:

bash -c "echo "$repetition""
111 112 113 114 121 122 123 124 131 132 133 134 141 142 143 144 211 212 213 214 221 222 223 224 231 232 233 234 241 242 243 244 311 312 313 314 321 322 323 324 331 332 333 334 341 342 343 344 411 412 413 414 421 422 423 424 431 432 433 434 441 442 443 444

否则使用 eval 而不是 bash -c

关于bash - 使用 echo 生成元素组合,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/26176481/

28 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com