Recutils
recfiles | |
---|---|
Filename extension |
.rec |
Type of format | Data interchange |
Open format? | yes |
Free format? | yes |
Website | www |
GNU Recutils | |
---|---|
Original author(s) | Jose E. Marchesi |
Initial release | December 3, 2010 |
Stable release | 1.9
/ April 16, 2022[1] |
Repository | git |
Written in | C |
License | GNU General Public License |
Website | www |
Recutils, from GNU Project, is a free command-line toolset for performing basic relational database operations on plain text files[2][3] – including field typing, auto-increment, and join. Storage files – known as recfiles – confirm to a file format defined by the toolset. As plain text, recfiles can be edited via a text editor (as long it supports the character encoding). Various other software libraries support the format.[4][5][6]
A recfile is a text file with empty lines between records. Each field of a record is a line starting with the field name and a colon. Multiple record types can be in a single file. A long line can be wrapped (i.e. for readability).
Tools include:
- recsel – Search for and print fields from records matching a query
- recins – Insert a record, or replace existing records
- recdel – Delete a record, or delete a set of records
- recfix – Sort records
- recset – Add or update individual fields
Example
[edit]The following is formatted as a recfile.
%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
The following command selects records where a year field is greater than 1900 and outputs the author field values. The first two records have a year greater than 1900 so are selected. The first record has a single author and the second has two, so the result is three author names.
$ recsel -e 'Year > "1900"' -p Author
Author: Doug McIlroy
Author: Dale Dougherty
Author: Tim O'Reilly
See also
[edit]- asciidoc – Human-readable document format
- Flat-file database – Database stored as flat data
- org-mode – Open source mode for GNU Emacs
- TOML – Configuration file format
References
[edit]- ^ "Index of /gnu/recutils". ftp.gnu.org. Retrieved 11 April 2023.
- ^ "GNU Recutils". www.gnu.org. Retrieved 3 January 2025.
- ^ James Tomasino (2020-01-26). "GNU Recutils". Retrieved 2020-02-09.
- ^ František Kučera (2019-04-08). "Relational pipes and GNU Recutils".
- ^ "Python-recutils". GitHub. 12 January 2022.
- ^ "Aisamanra/Rrecutils". GitHub. 13 January 2022.
External links
[edit]