Automatically index your shell history in a full-text search database. Magic!
HISTTIMEFORMAT if set.Download the latest release and extract it somewhere on your $PATH.
Alternatively, install Duiker from source. To build the package you will need:
Simply run:
make install
Import your existing shell history:
HISTTIMEFORMAT='%s ' history | duiker import -
If you want to automatically import your shell history on-the-fly, you
can add duiker import to your PROMPT_COMMAND [1].
Run duiker magic to print a shell snippet that automatically imports
your last command into Duiker:
duiker magic
Configure this shell snippet as part of your PROMPT_COMMAND. Run
duiker magic --help for an example.
Duiker indexes your shell history in an SQLite3 full-text search table.
You can use any MATCH [2] expression to search the database:
$ duiker search git 2017-04-13 15:50:02 git staged 2017-04-13 15:50:14 git commit -a 2017-04-13 15:55:07 git diff
$ duiker search '(git OR fossil) diff' 2017-04-27 15:15:01 git diff 2017-04-27 15:15:49 git diff 2017-04-28 14:49:19 fossil diff 2017-04-28 14:53:09 fossil diff src/main.rs
$ duiker search 'sqlite*' 2017-03-04 19:00:42 sqlite3 db.sqlite 2017-03-04 19:13:11 rm db.sqlite
Duiker only supports Bash at present. Pull requests for other shells welcome.
MIT
| [1] | https://www.gnu.org/software/bash/manual/html_node/Controlling-the-Prompt.html#Controlling-the-Prompt |
| [2] | https://sqlite.org/fts3.html#full_text_index_queries |