0

我正在尝试创建一个程序来运行一个创建最大 N 长度字符串的函数,其中包含一些字符
例如输入“AB”(A 和 B 字符可能)和 3(最大长度):( A AA AAA AAB AB ABA ABB ... BB BBA BBB 顺序无关紧要)

我发现了这个: Bash string handling (char at index and concatenation)
答案仅适用于 2 长度的字符串,我想以 10 长度和 20 个字符运行它。(我有时间运行这个:))
有没有办法做到这一点?如果是这样,怎么做?

4

1 回答 1

3

一个 Bash 解决方案:

chars='{A,B}'                         # characters to use
cnt=6                                 # maximum length
str=''
for (( CNTR=0; CNTR<$cnt; CNTR+=1 )); do
  str=$str$chars
  eval echo "$str"
done

字符列表可以扩展,例如

chars='{A,B,C}'  

输出:

A B
AA AB BA BB
AAA AAB ABA ABB BAA BAB BBA BBB
AAAA AAAB AABA AABB ABAA ABAB ABBA ABBB BAAA BAAB BABA BABB BBAA BBAB BBBA BBB

cnt=20 需要几秒钟并设置 {A,B}。

于 2013-03-30T18:39:21.843 回答