Sha256: cfc1df426c6fbe11e9a9bfea5a10f7a5b38685896b878d1539a369c79292736f

Contents?: true

Size: 1.04 KB

Versions: 11

Compression:

Stored size: 1.04 KB

Contents

#!/usr/bin/env ruby

require 'rbbt-util'
require 'rbbt/util/simpleopt'

$0 = "rbbt #{$previous_commands*""} #{ File.basename(__FILE__) }" if $previous_commands

options = SOPT.setup <<EOF
Zip fields in a TSV file 

$ rbbt tsv info [options] file.tsv

Display summary information. Works with Tokyocabinet HDB and BDB as well.

-tch--tokyocabinet File is a TC HDB
-tcb--tokyocabinet_bd File is a TC BDB
-hh--header_hash* Change the character used to mark the header line (defaults to #)
-m--merge* Merge lines
-f--field* Field to unzip
-h--help Help
EOF

SOPT.usage if options[:help]

file = ARGV.shift

file = STDIN if file == '-'

field = options[:field] || 0
merge = options[:merge] || false

case
when options[:tokyocabinet]
  tsv = Persist.open_tokyocabinet(file, false)
when options[:tokyocabinet_bd]
  tsv = Persist.open_tokyocabinet(file, false, nil, TokyoCabinet::BDB)
else
  if String === file
    file = file.dup
    Path.setup(File.expand_path(file))
  end
  tsv = TSV.open(file, {:type => :double}.merge(options))
end

puts tsv.unzip(field, merge).to_s

Version data entries

11 entries across 11 versions & 1 rubygems

Version Path
rbbt-util-5.13.8 share/rbbt_commands/tsv/unzip
rbbt-util-5.13.7 share/rbbt_commands/tsv/unzip
rbbt-util-5.13.6 share/rbbt_commands/tsv/unzip
rbbt-util-5.13.5 share/rbbt_commands/tsv/unzip
rbbt-util-5.13.4 share/rbbt_commands/tsv/unzip
rbbt-util-5.13.3 share/rbbt_commands/tsv/unzip
rbbt-util-5.13.2 share/rbbt_commands/tsv/unzip
rbbt-util-5.13.1 share/rbbt_commands/tsv/unzip
rbbt-util-5.13.0 share/rbbt_commands/tsv/unzip
rbbt-util-5.12.3 share/rbbt_commands/tsv/unzip
rbbt-util-5.12.2 share/rbbt_commands/tsv/unzip