Fsdb, the flatfile streaming database is package of commands for manipulating flat-ASCII databases from shell scripts. Fsdb is useful to process medium amounts of data (with very little data you’d do it by hand, with megabytes you might want a real database). Fsdb was known as as Jdb from 1991 to Oct. 2008.
Fsdb is very good at doing things like:
- extracting measurements from experimental output
- re-examining data to address different hypotheses
- joining data from different experiments
- eliminating/detecting outliers
- computing statistics on data (mean, confidence intervals, histograms, correlations)
- reformatting data for graphing programs
Rather than hand-code scripts to do each special case, Fsdb provides higher-level functions.
Fsdb is built on flat-ASCII databases. By storing data in simple text files and processing it with pipelines it is easy to experiment (in the shell) and look at the output. The original implementation of this idea was /rdb, a commercial product described in the book “UNIX relational database management: application development in the UNIX environment” by Rod Manis, Evan Schaffer, and Robert Jorgensen (and also at their web page). Fsdb is an incompatible re-implementation of their idea without any accelerated indexing or forms support. (But it’s free!).
For more information, see the README file or download Fsdb 3.9 (released 2024-08-02): Fsdb-3.9.tar.gz, and in RPM format perl-Fsdb-3.9-1.fc40.noarch.rpm, perl-Fsdb-3.9-1.fc40.src.rpm (built against Fedora 40, signed by my PGP key).
Alternatively: download Fsdb-current.tar.gz, perl-Fsdb-current.noarch.rpm, perl-Fsdb-current.src.rpm to get the same thing with an unchanging link.
Alternatively still, some versions are available in CPAN. See also the Fsdb CPAN testers report.
A Go-language library for Fsdb reading and writing is also avaialble.
For announcements and discussion about Fsdb, please watch this web page.
(Download older releases in tar.gz format: 3.9 (2024-08-02), 3.8 (2024-07-01), 3.7 (2024-06-19), 3.6 (2024-06-08), 3.5 (2024-06-07), 3.4 (2024-01-05), 3.3 (2023-10-13), 3.2 (2023-10-11), 3.1 (2022-11-22), 3.0 (2022-04-04), 2.75 (2022-04-02), 2.74 (2021-06-23), 2.73 (2021-05-19), 2.72 (2020-12-01), 2.71 (2020-11-16), 2.70 (2020-11-12), 2.69 (2019-11-22), 2.68 (2019-09-19), 2.67 (2019-07-10), 2.66 (2018-12-20), 2.65 (2018-02-16), 2.64 (2017-11-20), 2.63 (2017-02-03), 2.62 (2016-11-29), 2.61 (2016-09-05), 2.60 (2016-09-04), 2.59 (2016-09-01), 2.58 (2015-04-30), 2.57 (2015-04-29), 2.56 (2015-02-03), 2.55 (2015-01-05), 2.54 (2014-11-28), 2.53 (2014-11-26), 2.52 (2014-11-03), 2.51 (2014-09-05), 2.50 (2014-05-27), 2.49 (2014-01-04), 2.48 (2014-01-03), 2.47 (2013-10-12), 2.46 (2013-10-08), 2.45 (2013-10-07), 2.44 (2013-10-02), 2.43 (2013-08-27), 2.42 (2013-07-31), 2.41 (2013-07-29), 2.40 (2013-07-13), 2.39 (2013-05-31), 2.38 (2013-04-29), 2.37 (2013-02-26), 2.36 (2013-02-25), 2.35 (2013-02-23), 2.34 (2013-02-10), 2.33 (2012-12-23), 2.32 (2012-12-21), 2.31 (2012-11-28), 2.30 (2012-11-25), 2.29 (2012-11-20), 2.28 (2012-11-15), 2.27 (2012-11-15), 2.26 (2011-12-12), 2.25 (2011-08-07), 2.24 (2011-04-15), 2.23 (2011-03-10), 2.22 (2010-10-31), 2.21 (2010-04-16), 2.20 (2009-11-30), 2.19 (2009-07-10), 2.18 (2009-07-01), 2.17 (2009-06-25), 2.16 (2009-04-14), 2.15 (2009-04-13), 2.14 (2008-11-26), 2.13 (2008-10-30), 2.12 (2008-10-16).
Releases before 2.12 were called Jdb: 2.11 (2008-10-14), 2.10 (2008-09-23), 2.9 (2008-08-06), 2.8 (2008-08-05), 2.7 (2008-07-30), 2.6 (2008-07-11), 2.5 (2008-06-24), 2.4 (2008-06-18), 2.3 (2008-05-27), 2.2 (2008-05-23), 2.1 (2008-04-06), 2.0 (2008-01-25), 1.15 (2007-11-12), 1.14 (2006-08-24), 1.13 (2004-02-04), 1.12 (2002-10-30), 1.11 (2001-11-02), 1.10 (2001-04-10), 1.9 (2000-11-06), 1.8 (2000-06-28), 1.7 (2000-01-05), 1.6 (1999-05-24), 1.5 (1998-06-25), 1.4 (1998-03-27), 1.3 (1998-03-17), 1.2 (1998-02-11), 1.1 (1998-01-20), 1.0 (1997-07-22), 0.2 (1995-03-15), 0.1 (1994-05-26), 0.0 (1991).