dbfilecat - concatenate two files with identical schema
dbfilecat --input A.fsdb [--input B.fsdb...]
or
echo A.fsdb | dbfilecat --xargs
Concatenate all provided input files, producing one result. We remove extra header lines.
Inputs can both be specified with --input, or one can come from standard input and the other from --input. With --xargs, each line of standard input is a filename for input.
--input
--xargs
Inputs must have identical schemas (columns, column order, and field separators).
Like dbmerge, but no worries about sorting, and with no arguments we read standard input (although that's not very useful).
General option:
Expect that input filenames are given, one-per-line, on standard input. (In this case, merging can start incrementally.
Delete the source files after they have been consumed. (Defaults off, leaving the inputs in place.)
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.
File a.fsdb:
#fsdb cid cname 11 numanal 10 pascal
File b.fsdb:
#fsdb cid cname 12 os 13 statistics
dbfilecat --input a.fsdb --input b.fsdb
#fsdb cid cname 11 numanal 10 pascal 12 os 13 statistics # | dbmerge --input a.fsdb --input b.fsdb
dbmerge(1), Fsdb(3)
$filter = new Fsdb::Filter::dbmerge(@arguments);
Create a new object, taking command-line arguments.
$filter->set_defaults();
Internal: set up defaults.
$filter->parse_options(@ARGV);
Internal: parse command-line arguments.
$filter->setup();
Internal: setup, parse headers.
$filter->_run_one();
Internal: stream out one input stream.
$filter->run();
Internal: run over each rows.
Copyright (C) 2013-2018 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.