Recfiles

From Wikipedia, the free encyclopedia
recfiles
Filename extension
.rec
Type of formatData interchange
Open format?yes
Free format?yes
Websitewww.gnu.org/software/recutils/

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

GNU Recutils
Original author(s)Jose E. Marchesi
Initial releaseDecember 3, 2010; 13 years ago (2010-12-03)
Stable release
1.9 / April 16, 2022; 2 years ago (2022-04-16)[3]
Repositorygit.savannah.gnu.org/cgit/recutils.git
Written inC
LicenseGNU General Public License
Websitewww.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[edit]

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[edit]

# This is a recfile document.

%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

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

See also[edit]

References[edit]

  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.

External links[edit]