recfiles is a file format for human-editable, plain text databases.
Databases using this file format can be edited using any text editor. Recfiles allow for basic relational database operations, such as typing, auto-incrementing, as well as a simple join operation.
Recutils is a collection of tools, like "recfmt", "recsel", and "rec2csv" used to work with recfile databases.
Various software libraries support the format.
Syntax.
Data are stored in text files with empty lines separating records. Fields within a record are lines starting with their name and a colon; it is possible to wrap long entries. Multiple record types can be maintained in a single text file.
Example.
%rec: Text
%type: Year int
Author: Doug McIlroy
Year: 1964
Note: The Origin of Unix Pipes
Title: Unix Text Processing
Author: Dale Dougherty
Author: Tim O'Reilly
Year: 1987
Publisher: Hayden Books
Author: William Shakespeare
Title: Hamlet
Year: 1599
Year: 1600
Year: 1601
Utilities.
Recutils from the GNU Project are a set of free command line utilities to process recfiles.
These include:
This example command would output the following three lines (of the two original entries, one having two authors):
$ recsel -e 'Year ; "1900"' -p Author
Author: Doug McIlroy
Author: Dale Dougherty
Author: Tim O'Reilly
References.
 ;templatestyles src="Reflist/styles.css" / ;