dbrowcount - count the number of rows in an Fsdb stream
dbrowcount
Count the number of rows and write out a new fsdb file with one column (n) and one value: the number of rows. This program is a strict subset of dbcolstats.
Although there are other ways to get a count of rows (dbcolstats, or dbrowaccumulate -C 1 and some processing), counting is so common it warrants its own command. (For example, consider how often wc -l is used in regular shell scripting.) There are some gross and subtle differences, though, in that dbrowcount doesn't require one to specify a column to search, and it also doesn't look for and skip null data items.
dbcolstats
dbrowaccumulate -C 1
wc -l
No program-specific options.
This module also supports the standard fsdb options:
Enable debugging output.
Read from InputSource, typically a file name, or - for standard input, or (if in Perl) a IO::Handle, Fsdb::IO or Fsdb::BoundedQueue objects.
-
Write to OutputDestination, typically a file name, or - for standard output, or (if in Perl) a IO::Handle, Fsdb::IO or Fsdb::BoundedQueue objects.
By default, programs process automatically, but Fsdb::Filter objects in Perl do not run until you invoke the run() method. The --(no)autorun option controls that behavior within Perl.
--(no)autorun
Show help.
Show full manual.
#fsdb absdiff 0 0.046953 0.072074 0.075413 0.094088 0.096602 # | /home/johnh/BIN/DB/dbrow # | /home/johnh/BIN/DB/dbcol event clock # | dbrowdiff clock # | /home/johnh/BIN/DB/dbcol absdiff
cat data.fsdb | dbrowcount
#fsdb n 6 # | /home/johnh/BIN/DB/dbrow # | /home/johnh/BIN/DB/dbcol event clock # | dbrowdiff clock # | /home/johnh/BIN/DB/dbcol absdiff
As another example, this input produces the same output as above in dbrowcount, but different output in dbstats:
dbstats
#fsdb absdiff - - - - - - # | /home/johnh/BIN/DB/dbrow # | /home/johnh/BIN/DB/dbcol event clock # | dbrowdiff clock # | /home/johnh/BIN/DB/dbcol absdiff
dbcolaccumulate(1), dbcolstats(1), Fsdb(3)
$filter = new Fsdb::Filter::dbrowcount(@arguments);
$filter->set_defaults();
Internal: set up defaults.
$filter->parse_options(@ARGV);
Internal: parse options
$filter->setup();
Internal: setup, parse headers.
$filter->run();
Internal: run over all IO
$filter->finish();
Internal: write trailer.
Copyright (C) 2007-2015 by John Heidemann <johnh@isi.edu>
This program is distributed under terms of the GNU general public license, version 2. See the file COPYING with the distribution for details.
To install Fsdb, copy and paste the appropriate command in to your terminal.
cpanm
cpanm Fsdb
CPAN shell
perl -MCPAN -e shell install Fsdb
For more information on module installation, please visit the detailed CPAN module installation guide.