Sha256: f48be0f1b6e0baa9de3d53095798a91db6a3533cabaf28fa6fba329bb767aff7
Contents?: true
Size: 1.37 KB
Versions: 658
Compression:
Stored size: 1.37 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 Slice column from tsv $ rbbt tsv slice [options] file.tsv -f "Field 1" Display summary informations. 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 #) -f--fields* Field to slice (comma-separated) -h--help Help EOF SOPT.usage if options[:help] file = ARGV.shift file = case file when "-" STDIN when String Open.open(file) else raise ParameterException, "Please specify the tsv file as argument" if file.nil? end fields = options[:fields] raise ParameterException, "Please specify the fields to slice" if fields.nil? options[:header_hash] = options["header_hash"] case when options[:tokyocabinet] tsv = Persist.open_tokyocabinet(file, false) puts tsv.summary when options[:tokyocabinet_bd] tsv = Persist.open_tokyocabinet(file, false, nil, TokyoCabinet::BDB) puts tsv.summary else stream = TSV.traverse file, options.merge(:into => :stream, :type => :list, :keys => fields, :unnamed => true) do |*p| p * "\t" end puts stream.read exit 0 end puts tsv.slice(fields.split(","))
Version data entries
658 entries across 658 versions & 1 rubygems