0と1の両方を含む列数の計算

0と1の両方を含む列数の計算

0、1、-9を含むテーブルがあります。

-9  -9  0   1   1
-9  1   0   0   0
0   -9  0   1   -9
-9  -9  1   0   -9
-9  -9  0   0   0

0と1の両方を含む列の数を知りたいです。この例では、答えは3です。

列に0と1の両方が含まれている場合(そうでない場合はfalseを印刷)、マージして「true」を印刷しようとしますawkprint

| grep true | wc -lその後、列数を計算する必要があります。

これは良い解決策のように聞こえますか?それともどうすればいいですかawk

ベストアンサー1

Rubyは配列の配列操作に適しています。

ruby -e '
    rows = File.readlines( ARGV.shift ).map {|line| line.split}
    columns = rows.transpose
    puts columns.count {|column| column.include?("0") and column.include?("1")}
' file

または変数はありません。

ruby -e 'puts readlines
                .map {|line| line.split}
                .transpose
                .count {|column| column.include?("0") and column.include?("1")}
' file

おすすめ記事