Saturday, 29 October 2016

BORG - Terminal Based Search For Bash Snippets


Borg was built out of the frustration of having to leave the terminal to search and click around for bash snippets. Borg's succint output also makes it easy to glance over multiple snippets quickly.

Search
borg "find all txt"
(1) Find and delete .txt files in bash
[a] find . -name "*.txt" | xargs rm
[b] find . -name "*.txt" -exec rm {} \;
[c] $ find . -name "*.txt" -type f -delete

(2) bash loop through all find recursively in sub-directories
[a] FILES=$(find public_html -type f -name '*.php')
[b] FILES=`find public_html -type d`
Can't find what you are looking for? Be a good hacker and contribute your wisdom to the hive mind - add your own snippets or tweak the existing ones.

Install
The following releases only let you search, to use add/edit install from source, releases are coming soon.
brew install borg
For linux, download a release manually releases
wget https://github.com/ok-borg/borg/releases/download/v0.0.1/borg_linux_amd64 -O /usr/local/bin/borg
chmod 755 /usr/local/bin/borg
Or download a release manually for Mac:
wget https://github.com/ok-borg/borg/releases/download/v0.0.1/borg_darwin_amd64 -O /usr/local/bin/borg
chmod 755 /usr/local/bin/borg

Rate results: worked
When you see a result that worked for you, you can use the worked command to give feedback:
borg worked 12
Once you do this the result will rank higher for similar queries - it is especially useful if you find a good result that you think are too down in the result list.

Advanced usage
For more commands and their explanations, please see advanced usage

How does borg work?
The client connects to a server at ok-b.org, but you can host your own if you want to (see daemon folder).
Self hosting will become less appealing once people start contributing their own content to the database though.

Explanation for ui
  • () denotes hits for your query
  • [] denotes snippets found for a given query
  • ... under a [] means more lines to display (use the -f flag for full display, see more about usage below)