Geek out
Posted on Fri 25 February 2005 by alex in general
I've just spent nearly an hour making the follwing change to my .bashrc. My head is now spinning with single and double quotes.
diff -u -b -r1.12 dotbashrc --- dotbashrc 23 Feb 2005 14:46:14 -0000 1.12 +++ dotbashrc 25 Feb 2005 17:58:06 -0000 @@ -21,17 +21,27 @@ # I like a quick grep of history alias h="history | grep" + # # Some systems I use don't have a decent 'find' implentation so # FIND=`find --version 2>/dev/null` if [ "${FIND:0:8}" == "GNU find" ]; then + # Some nice find expressions + FIND_BACKUPS=" -name '.#*' -o -name '#*#' -o -name '*\.~*.~' -o -path '*./CVS/*.'" + FIND_CVS=" -path '*./CVS/.*' " + FIND_CCODE=" -iname '*.[chS]' -or -iname '*.cc' " + FIND_CHEAD=" -iname '*.h' " + # Find files under here alias f='find . -iname' - # and search code for stuff - alias sc="find . -iname '*.[chS]' -or -iname '*.cc' -print0 | xargs -0 grep -H " + # and search code for stuff (when I figure out proper expansion and quuting I'll make this neater) + + #alias sc="find . -iname '*.[chS]' -or -iname '*.cc' -and -not \( -name '.#' -o -name '#*#' -o -name '*\.~*.~' -o -path '*./CVS/*.' \) -print0 | xargs -0 grep -H " + + alias sc="find . \( $FIND_CCODE \) -and -not \( $FIND_BACKUPS -o $FIND_CVS \) -print0 | xargs -0 grep -H" alias sh="find . -iname '*.h' -print0 | xargs -0 grep -H " alias sa="find . -xtype f -print0 | xargs -0 grep -H " else