1行のシェルは、単語のすべての文字の組み合わせを出力します。

1行のシェルは、単語のすべての文字の組み合わせを出力します。

私にはこんな言葉があります。

fath

単語のすべての文字の組み合わせを出力します。例:

f
fa
fat
fath
ft
fth
fh

ベストアンサー1

編集する:

一行のawk解決策は次のとおりです。

echo f a t h | awk '{for(i=0;i<2^NF;i++) { for(j=0;j<NF;j++) {if(and(i,(2^j))) printf "%s",$(j+1)} print ""}}'

出力


f
a
fa
t
ft
at
fat
h
fh
ah
fah
th
fth
ath
fath

(この電源セット実装の修正バージョンhttps://stackoverflow.com/questions/40966428/awk-power-set-implementation)

おすすめ記事