Bash tip of the day: ff

25 March 2011   2 comments   Linux

Powered by Fusion×

This is helping me sooo much that it would a crime not to share it. It's actually nothing fancy, just a very convenient thing that I've learned to get used to. ff is an executable script I use to find files in a git repository. Goes like this:

$ ff list
templates/operations/network-packing-list.html
templates/sales/list_orders.html
$ ff venue
templates/venues/venues-by-special.html
templates/venues/venues.html
templatetags/venue_extras.py
templatetags/venues_by_network_extras.py
tests/test_venues.py

It makes it easy to super quickly search for added files without having to use the slow find command which would also otherwise find backup files and other junk that isn't checked in.

To install it, create a file called ~/bin/ff and make it executable:

$ chmod +x ~/bin/ff

Then type this code in:

#!/usr/bin/python
import sys, os
args = sys.argv[1:]
i = False
if '-i' in args:
   i = True
   args.remove('-i')
pattern = args[-1]
extra_args = ''
if len(args) > 1:
   extra_args = ' '.join(args[:-1])
param = i and "-i" or ""
cmd = "git ls-files | grep %s %s '%s'" % (param, extra_args, pattern)
os.system(cmd)

Comments

Tom
Why not just add to your .bashrc:

alias ff="git ls-files | grep"
iivvoo
fyi your postings keep appearing double (with a significant delay) in my google reader.
Thank you for posting a comment

Your email will never ever be published


Related posts

Previous:
My AWS CloudFront bill 23 March 2011
Next:
Google's new Page Speed Online hard to beat 04 April 2011
Related by keywords:
Read in passwords with bash 25 March 2005
set -ex - The most useful bash trick of the year 31 August 2014
How I do deployments 16 December 2013
Catching a carriage return in bash 23 October 2006
ztar - my wrapper on tar -z 29 June 2005
Git + Twitter = Friedcode 22 April 2009
pwdf - a mix of ls and pwd 07 April 2008
File check before delete 07 March 2008
type - Writing shell scripts 28 April 2006
gg - wrapping git-grep 11 August 2009