From d1e0bf10159968bf7c1679cc59d5c2d23726d4f6 Mon Sep 17 00:00:00 2001 From: Sami Samhuri Date: Fri, 6 Dec 2019 11:28:23 -0800 Subject: [PATCH] Add OS version munging script --- crunch-sessions-by-major-os-version.rb | 28 ++++++++++++++++++++++++++ 1 file changed, 28 insertions(+) create mode 100755 crunch-sessions-by-major-os-version.rb diff --git a/crunch-sessions-by-major-os-version.rb b/crunch-sessions-by-major-os-version.rb new file mode 100755 index 0000000..ad46bfc --- /dev/null +++ b/crunch-sessions-by-major-os-version.rb @@ -0,0 +1,28 @@ +#!/usr/bin/env ruby -w + +require 'csv' + +HEADERS = %w[version sessions].freeze + +in_csv = CSV.new(ARGF) +is_header = true + +zero_hash = Hash.new { |k, v| 0 } +sessions_by_version = in_csv.inject(zero_hash) do |h, row| + if is_header + is_header = false + next h + end + + version = row[1] + sessions = row[2].to_i + major_version = version.split('.').first + h[major_version] += sessions + h +end + +puts CSV.generate_line(HEADERS) +sessions_by_version.keys.map(&:to_i).sort.each do |version| + out_row = [version, sessions_by_version[version.to_s]] + puts CSV.generate_line(out_row) +end