バイナリで単語リストを作成する

バイナリで単語リストを作成する

次の行列があります。

入力する:

A   B   C   D   E   F   G   H   I 
0   0   0   0   1   0   0   0   1
0   0   0   1   0   0   0   0   0  
0   0   0   1   0   0   0   0   0  
1   0   0   0   0   0   0   0   0  
1   0   1   0   0   0   1   0   0  
1   0   0   1   0   0   0   1   0  
1   0   0   0   1   1   1   0   0  

各行の値1に対応する文字のリストを抽出したいと思います。

出力:

E,I 
D
D
A
A,C,G  
A,D,H  
A,E,F,G  

タイトルを分けて単語を数字に合わせてみましたが失敗しました。

ベストアンサー1

存在するawk

NR == 1 { for(column=1; column <= NF; column++) values[column]=$column; }
NR > 1 { output=""
        for(column=1; column <= NF; column++)
                if($column) output=output ? output "," values[column] : values[column]
        print output }

おすすめ記事