Bash
不同字母在特定位置的組合
在 Unix 中,我試圖在 6 個特定位置創建這些字母的所有可能組合,如下所示:
- 位置 1 - A 或 B 或 C
- 位置 2 - A 或 C
- 位置 3 - 只有 C
- 位置 4 - A 或 D
- 位置 5 - B 或 C
- 位置 6 - C 或 A
因此,例如,組合可以是 AACABC、BACABC、…
UNIX工具有沒有一種快速的方法可以做到這一點?
要求對應於大括號展開
{A,B,C}{A,C}C{A,D}{B,C}{C,A}
這擴展為 48 個字元串(48 = 32122*2):
$ printf '%s\n' {A,B,C}{A,C}C{A,D}{B,C}{C,A} AACABC AACABA AACACC AACACA AACDBC AACDBA AACDCC AACDCA ACCABC ACCABA ACCACC ACCACA ACCDBC ACCDBA ACCDCC ACCDCA BACABC BACABA BACACC BACACA BACDBC BACDBA BACDCC BACDCA BCCABC BCCABA BCCACC BCCACA BCCDBC BCCDBA BCCDCC BCCDCA CACABC CACABA CACACC CACACA CACDBC CACDBA CACDCC CACDCA CCCABC CCCABA CCCACC CCCACA CCCDBC CCCDBA CCCDCC CCCDCA