如何使用所有字符串运行函数?

时间:2013-03-30 12:18:21

标签: string bash

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

1 个答案:

答案 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}。