Skip to main content

Search the internets for commands from the command line.

Project description

https://img.shields.io/travis/jimmyppi/searchcmd.svg https://img.shields.io/pypi/v/searchcmd.svg
  • Free software: BSD license

Get help from your friends on the internets without leaving your best friend the cli.

Motivation

Many commands have really many flags and the man pages often lack examples. It is usually faster to go to your browser and search for what you want to do.

Installation

sudo apt-get install libxml2-dev libxslt-dev python-dev
pip install searchcmd

Examples

# searchcmd git commit "change last commit message"
git commit      (git-scm.com, kernel.org)
git commit --amend      (help.github.com)
git commit –amend -m ‘new message’      (makandracards.com)
git commit --amend --no-edit    (kernel.org)
git commit -c ORIG_HEAD (kernel.org)
# searchcmd find "sort files by size"
find . -type f -printf "%s\t%p\n" | sort -n     (unix.stackexchange.com)
find . -type f | xargs du -h | sort -rn (unix.stackexchange.com)
find . -type f -print0 | xargs -0 ls -la | awk '{print int($5/1000) " KB\t" $9}' | sort -n -r -k1       (unix.stackexchange.com)
find . -type f -ls | sort -r -n -k7     (unix.stackexchange.com)
find . -type f -ls -printf '\0' | sort -zk7rn | tr -d '\0'      (unix.stackexchange.com)

Manual

usage: searchcmd [-h] [-v] [--no-cache] [--engine {bing,google}] [-n MAX_HITS]
                 [--max-download MAX_DOWNLOAD]
                 query [query ...]

positional arguments:
  query                 Type a command and/or describe what you want to do in
                        quotes.

optional arguments:
  -h, --help            show this help message and exit
  -v, --verbose         Include source url in output.
  --no-cache            Skip cache, always do a new search.
  --engine {bing,google}
                        The search engine to use.
  -n MAX_HITS, --max-hits MAX_HITS
                        Max number of commands to show.
  --max-download MAX_DOWNLOAD
                        Download max this number of search hits.

Examples:
searchcmd git commit "change last commit message"
searchcmd find directory
searchcmd "search replace"

Similar projects

Useful examples at the command line: https://github.com/srsudar/eg

Search commandlinefu.com from the terminal: https://github.com/ncrocfer/clf

Todo

  • Support for recognizing more advanced prompts. Example: um@server#find . -name “*sh*”

  • Merge commands that do the same thing.

  • Support for beautifulsoup in py3.

  • An open ended search (for example “search replace”) will only find commands that are installed on the system. Better filtering of false positives is needed to allow unknown commands. A solution could be to train a probabilistic parser like https://github.com/datamade/parserator

History

0.1.0 (2015-06-01)

  • First release on PyPI.

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

searchcmd-0.1.0.tar.gz (167.3 kB view details)

Uploaded Source

File details

Details for the file searchcmd-0.1.0.tar.gz.

File metadata

  • Download URL: searchcmd-0.1.0.tar.gz
  • Upload date:
  • Size: 167.3 kB
  • Tags: Source
  • Uploaded using Trusted Publishing? No

File hashes

Hashes for searchcmd-0.1.0.tar.gz
Algorithm Hash digest
SHA256 35093c06d9ee4c7cd0d9e03ca33028727b8a895cf2c1a362bc7a3102e0dce5e1
MD5 b182c156376b899cbb0a387601418100
BLAKE2b-256 e6212622ba671c40411d6e29b353c34dafe63a00ecfcadad898f4b94cbe991dd

See more details on using hashes here.

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