Automatically index your shell history in a full-text search database. Magic!
Project description
Automatically index your shell history in a full-text search database. Magic!
Features
Uses SQLite3’s excellent FTS4 extension to provide full-text search.
Respects HISTTIMEFORMAT if set.
Requirements
Bash
Python 3
Install
Install from pip:
pip install duiker
Or, simply download the single Python file and add it to your PATH.
Setup
Import your existing shell history:
history | duiker import -
Configuration
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.
Searching
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
Limitations
Duiker only supports Bash at present. Pull requests for other shells welcome.
License
MIT
Project details
Release history Release notifications | RSS feed
Download files
Download the file for your platform. If you're not sure which to choose, learn more about installing packages.