Skip to main content

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


Download files

Download the file for your platform. If you're not sure which to choose, learn more about installing packages.

Source Distribution

duiker-0.1.0.tar.gz (5.5 kB view hashes)

Uploaded Source

Built Distribution

duiker-0.1.0-py3-none-any.whl (7.4 kB view hashes)

Uploaded Python 3

Supported by

AWS AWS Cloud computing and Security Sponsor Datadog Datadog Monitoring Fastly Fastly CDN Google Google Download Analytics Microsoft Microsoft PSF Sponsor Pingdom Pingdom Monitoring Sentry Sentry Error logging StatusPage StatusPage Status page