我正在尝试创建一个程序来运行一个函数,该函数创建最多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个字符来运行它。 (我有时间运行:))
有没有办法做到这一点?
如果是这样,怎么样?
答案 0 :(得分: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}。