Recfiles

Last updated
recfiles
Filename extension
.rec
Type of formatData interchange
Open format?yes
Free format?yes
Website www.gnu.org/software/recutils/

recfiles is a file format for human-editable, plain text databases. [1] [2]

Contents

GNU Recutils
Original author(s) Jose E. Marchesi
Initial releaseDecember 3, 2010;14 years ago (2010-12-03)
Stable release
1.9 / April 16, 2022;2 years ago (2022-04-16) [3]
Repository git.savannah.gnu.org/cgit/recutils.git
Written in C
License GNU General Public License
Website www.gnu.org/software/recutils/

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. [4] Various software libraries support the format. [5] [6] [7]

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

# This is a recfile document.%rec:Text%type:Year intAuthor:Doug McIlroyYear:1964Note:The Origin of Unix PipesTitle:Unix Text ProcessingAuthor:Dale DoughertyAuthor:Tim O'ReillyYear:1987Publisher:Hayden BooksAuthor:William ShakespeareTitle:HamletYear:1599Year:1600Year:1601

Utilities

Recutils from the GNU Project are a set of free command line utilities to process recfiles. [8] These include:

This example command would output the following three lines (of the two original entries, one having two authors):

$ recsel-e'Year > "1900"'-pAuthor Author: Doug McIlroyAuthor: Dale DoughertyAuthor: Tim O'Reilly

See also

References

  1. Marchesi, Jose E (2019-01-03). "Purpose". GNU Recutils Manual. Retrieved 2020-12-02.
  2. James Tomasino (2020-01-26). "GNU Recutils" . Retrieved 2020-02-09.
  3. "Index of /gnu/recutils". ftp.gnu.org. Retrieved 11 April 2023.
  4. "GNU Recutils - GNU Project - Free Software Foundation".
  5. František Kučera (2019-04-08). "Relational pipes and GNU Recutils".
  6. "Python-recutils". GitHub . 12 January 2022.
  7. "Aisamanra/Rrecutils". GitHub . 13 January 2022.
  8. "GNU Recutils". www.gnu.org. Retrieved 3 January 2025.