
GNU Recutils – Tools and libraries to access plain-text databases - networked
http://www.gnu.org/software/recutils/
======
jordigh
... is ... is the logo two turtles mating?

I don't feel so bad about our GNU Octave logo now.

~~~
icebraining
Yeap:
[http://www.gnu.org/software/recutils/faq.html#whyturtles](http://www.gnu.org/software/recutils/faq.html#whyturtles)

------
_delirium
Oh, very nice. I've been using org-mode lists with ad-hoc "key: value" syntax
inside of them for some kinds of stuff. This looks better structured, while
still being friendlier to write than something like XML or YAML.

~~~
Poiesis
a related tool for keeping track of what you've been up to is Brett Terpstra's
Doing:
[http://brettterpstra.com/projects/doing/](http://brettterpstra.com/projects/doing/)

------
falcolas
The only think I feel is missing is traditional SQL syntax. This makes it much
harder to use as a drop-in replacement where someone would actually otherwise
use the competitors mentioned on their homepage.

I think its real competition is SQLLite and JSON / YAML, and it definitely has
some benefits over the text formats, it can't compare with SQLLite.

~~~
mhuffman
There are applications that let you query structured text with SQL. For
example,
[https://github.com/dinedal/textql](https://github.com/dinedal/textql) there
are others as well.

~~~
networked
There is a lot of tools of this kind [1] but nearly all of them work with CSV
or other delimiter-separated data. What made recutils stand out for me is that
it has tools to modify files in place, not just select data from them, and its
file format is different.

The rec format is interesting because it is a specification for what others
have used before without one. It seems quite readable and does not suffer from
the ",,,,,," problem of CSV.

[1] Here's the list of ones I have run into so far:

* [https://github.com/harelba/q](https://github.com/harelba/q)

* [https://github.com/tobimensch/termsql](https://github.com/tobimensch/termsql)

* [https://github.com/samuel/squawk](https://github.com/samuel/squawk)

* [https://github.com/tjunier/sqawk](https://github.com/tjunier/sqawk)

I've also written one:
[https://github.com/dbohdan/sqawk](https://github.com/dbohdan/sqawk). It
turned out I wasn't the only one to come up with the name.

------
binarylog
Thank you for sharing! I just gave it a spin and wrote up a short tutorial
here:

[http://binarylog.net/code/password-manager-recutils-
tutorial...](http://binarylog.net/code/password-manager-recutils-
tutorial.html)

I foresee many more usecases for recutils in my day-to-day life.

------
Trombone12
Doesn't mention utf-8, so I'll assume it dies as soon as I type something
strange like an ö in my foolish attempt to categorize a thing outside of the
US.

~~~
onli
Why would you think that? If it is really old that may be possible, but
everything halfway current and maintained should support UTF-8 by default by
now, especially in the linux world.

And in fact, it is working fine. I took the example from
[https://www.gnu.org/software/recutils/manual/recutils.html#A...](https://www.gnu.org/software/recutils/manual/recutils.html#A-Little-
Example) and exchanged Emacs with Ämacs, and the selector works

    
    
        ~$ recsel -e "Title ~ '.*Ämacs.*'" -P Title books.rec
        GNU Ämacs Manual

