GNU Recutils

"GNU Recutils is a set of tools and libraries to access human-editable, text-based databases called recfiles. The data is stored as a sequence of records, each record containing an arbitrary number of named fields.

Some advanced capabilities usually found in other data storage systems are supported: data types, data integrity (keys, mandatory fields, etc) as well as the ability of records to refer to other records (sort of foreign keys). Despite its simplicity, recfiles can be used to store medium-sized databases. See the manual for more information about the Rec format.

The GNU recutils suite comprises:

  • A texinfo manual describing the Rec format and the software.
  • A C library (librec) providing a rich set of functions to access rec files.
  • A set of C utilities (recinf, recsel, recins, recdel, recset, recfix, recfmt, csv2rec and mdb2rec) that can be used in shell scripts and in the command line to operate on rec files.
  • A set of conversion utilities (mdb2rec, csv2rec) to convert data from other formats to rec files.
  • An emacs mode (rec-mode).

A video with a talk introducing the program can be found here."