Stuff with the Perl Foundation. A couple of patches in the Perl core. A few CPAN modules. That about sums it up.
I find myself writing this all the time in the bash shell:
grep -r $some_string
.|grep -vE 'svn|blib'
It seems that either my bash shell knowledge is too limited or bash aliases cannot take argument (for $some_string). How do you handle that? A bit of Perl or a simple shell script? (I believe zsh allows aliases to take arguments but I really don't want to learn another shell).
functions (Score:1)
Re:functions (Score:1)
rgrep() { grep -r "$1" . | grep -vE 'svn|blib' ; }
And then you say:
$ rgrep $string
Advanced Bash-Scripting Guide (Score:1)
Look at ack (Score:2)
It doesn't exclude blib yet, but it does ignore .svn and CVS directories, and it does recursing into directories by default.
--
xoa
Svk (Score:1)
That's why I use Svk. Well, okay... I use it for other reasons, but that's a nice benefit.
(No, bash aliases can't take arguments.)
rgrep for excluding .svn and blib (Score:1)
This seems like one of those things that seemed "too small to put on CPAN", but probably isn't.
Alias syntax (Score:1)
alias stringgrep 'grep -r \!*
I suspect the bash syntax is similar.
Re:Alias syntax (Score:1)
No, there isn't an equivalent syntax for Bash aliases. This is because in C Shell the
!there is a history substitution, and history works differently in Bash from in C Shell.As others have said, use a function; there isn't really any advantage in using a Bash alias over a function (other than you're more likely already to know the alias syntax).
I think this should do what you want (untested):
(Function name courtesy of meta [cpan.org].)
Smylers
Bash functions (Score:1)
Bash functions are amazingly useful, and ridiculously simple. Just put something like this in your .bashrc.
ovidgrep () { .| grep -vE 'svn|blib'grep -r "$1"
}