Sha256: 1417b42ce8d93ed7e63fec3cafb9df0b1ffe53bba8755c0e5ce05802f91077d7

Contents?: true

Size: 1.13 KB

Versions: 527

Compression:

Stored size: 1.13 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 zip [options] file.tsv <new_field>

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 #)
-zs--zip_sep* Separator between zipped fields
-f--field* Field to unzip
-m--merge Merge lines
-h--help Help
EOF

SOPT.usage if options[:help]

file = ARGV.shift

file = STDIN if file == '-'

field = options[:field] || 0
merge = options[:merge] || false
zs = options[:zip_sep] || ":"

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.zip(field, merge, zs).to_s

Version data entries

527 entries across 527 versions & 1 rubygems

Version Path
rbbt-util-5.43.0 share/rbbt_commands/tsv/zip
rbbt-util-5.42.0 share/rbbt_commands/tsv/zip
rbbt-util-5.41.1 share/rbbt_commands/tsv/zip
rbbt-util-5.41.0 share/rbbt_commands/tsv/zip
rbbt-util-5.40.5 share/rbbt_commands/tsv/zip
rbbt-util-5.40.4 share/rbbt_commands/tsv/zip
rbbt-util-5.40.3 share/rbbt_commands/tsv/zip
rbbt-util-5.40.0 share/rbbt_commands/tsv/zip
rbbt-util-5.39.0 share/rbbt_commands/tsv/zip
rbbt-util-5.38.1 share/rbbt_commands/tsv/zip
rbbt-util-5.38.0 share/rbbt_commands/tsv/zip
rbbt-util-5.37.16 share/rbbt_commands/tsv/zip
rbbt-util-5.37.15 share/rbbt_commands/tsv/zip
rbbt-util-5.37.14 share/rbbt_commands/tsv/zip
rbbt-util-5.37.13 share/rbbt_commands/tsv/zip
rbbt-util-5.37.12 share/rbbt_commands/tsv/zip
rbbt-util-5.37.11 share/rbbt_commands/tsv/zip
rbbt-util-5.37.10 share/rbbt_commands/tsv/zip
rbbt-util-5.37.9 share/rbbt_commands/tsv/zip
rbbt-util-5.37.8 share/rbbt_commands/tsv/zip