A B C D E
私が値と8つの場所を持っているとしましょう1 2 3 4 5 6 7 8
。 2回、3回繰り返して、可能なすべての組み合わせを印刷するには?
例:
1 2 3 4 5 6 7 8
_______________
A A B B C C D E
A B B C C D D E (and so on...)
A A A B B C D E
A B B B C C D E (and so on...)
どの組み合わせがどの組み合わせであるかは重要ではありません。欠落値があってはなりません。AABBCCDD
(何がE
抜けたのか)
答え1
zsh
//を使用するksh93
おおよその方法はbash
次のとおりです。
printf '%s\n' {A..E}{A..E}{A..E}{A..E}{A..E}{A..E}{A..E}{A..E} |
sed '/A/!d; /B/!d; /C/!d; /D/!d; /E/!d; /\(.\)\(.*\1\)\{3\}/d'
その中で、zshスタイルを使用して{A..E}
から5から8の組み合わせをすべて生成し、同じ文字を含まない、含まない、または3つ以上の組み合わせを削除します。AAAAAAAA
EEEEEEEE
sed
A
B
C
D
E
文字間にスペースを挿入するには、コードに;s/./ &/2g
(GNU sed
)または;s/./ &/g;s/ //
(any sed
)を追加します。sed