約27,000の列と40,000の行を持つファイルがあります。0.0
データの各列と行内のsの数を計算する必要があります。各列の数を計算して印刷するために、次のコードを作成しました0.0
。
awk '{a[$1]++;} END{for(i in a) print a[i]" "i}' file_name.txt
次のコードを統合しようとしています。
awk -F, '{ for(i=NF; i>=2; --i) printf "%s ", $i; print $1 }' file_name.txt
ループを作成するには、0.0
すべての数を数えて印刷します。最後の数字の出力ファイルを作成する必要はありません。
ベストアンサー1
なぜできないのですか(devWeekの提案に対するマイナーな修正、未テスト):
awk '
{ROWCNT = 0
for (i=1; i<=NF; i++) if ($i == "0.0") {COLCNT[i]++
ROWCNT++
}
print "Row", NR,":", ROWCNT
}
END {for (i=1; i in COLCNT; i++) print "Col", i,":", COLCNT[i]
}
' file
配列要素を検索する順序が定義されていないため、入力行の順序は維持されます。