Ackr is a very small subset of grep/ack/rak, for very lazy developers.
Ruby
Clone or download
Fetching latest commit…
Cannot retrieve the latest commit at this time.
Permalink
Failed to load latest commit information.
bin
lib
spec
.gitignore
.rspec
.travis.yml
Gemfile
Gemfile.lock
LICENSE.txt
README.markdown
Rakefile
VERSION
ackr.gemspec

README.markdown

Ackr Build Status Gem Version

Ackr is the very minimum subset of grep/ack/rak I can think of for lazy developers.

Description

Grep is a great tool. A very powerful tool. But most of the time, it is too powerful for my needs. I can never remember its syntax nor its options.

Ack is great and powerful too. But here again it has so many options.

As a developer I have really simple needs. As a lazy developer I want the most possible simple tool.

Here comes ackr:

  • Ackr look for a search term into all text files, into all subfolders, from the working directory
  • A search term is either a string (in this case Ackr is case insensitive) or a regexp
  • Ackr has no options
  • Ackr doesn't search inside hidden folders, but looks to hidden files
  • Search term is displayed in bold font

It runs on unixes. I guess it won't run on windows.

And one more thing: ackr is not a replacement to grep/ack. If you need grep power, just use grep!

Install

gem install ackr

Usage

To look for a string (case insensitive):

$ ackr fixme
lib/ackr/search.rb
   8|   # FIXME Separate behaviours: search / print

README.markdown
  21| $ ackr fixme

Using a regexp (same search as above):

$ ackr /fixme/i

If you want to search only in a specific directory, you can temporarily cd into it like this:

(cd your/path && ackr yoursearch)

Tips

To look for a string containing spaces, quote the string:

$ ackr 'string with spaces'

To look for a regex containing spaces, quote the regex:

$ ackr '/regex with spaces/'

or escape the spaces:

$ ackr /regex\ with\ spaces/

When your search string contains some characters special to Bash you will have troubles. For example, instead of:

$ ackr &:active

you must use:

$ ackr '&:active'

Ignored files and directories

Ackr doesn't look into directories. In addition, ackr ignores the following list of directories:

  • blib
  • CVS
  • _darcs
  • RCS
  • SCCS
  • pkg
  • tmp
  • temp
  • log

If you want to search into such a directory anyway, simply cd into it and make the search.

Caveats

Ackr is slow, very slow... May be I will consider performance in a future version.

License

MIT

Questions and/or Comments

Feel free to email Xavier Nayrac with any questions, or contact me on twitter.