开发者

Recursive grep for bash in cygwin

if i want an alias to do "rgrep pattern *" to search all files from my current location down through any sub directories, what is an alias for rgrep I can add to my bashr开发者_高级运维c file?

i would also like it to ignore errors and only report positive hits


In order for it to ignore errors (such as "Permission denied"), you'll probably need to use a function instead of an alias:

rgrep () { grep -r "${@}" 2>/dev/null; }


How about:

alias rgrep="grep -r"

This will only show 'positive hits', i.e. lines that contain the pattern you specify.

Small piece of advice, however: you might want to get used to just using grep -r directly. You'll then find it much easier if you ever need to use someone else's workstation, for instance!

Edit: you want to match patterns in file names, not in their contents (and also in directory names too). So how about this instead:

alias rgrep="find | grep"

By default, find will find all files and directories, so then it's just a case of passing that list to grep to find the pattern you're looking for.

0

上一篇:

下一篇:

精彩评论

暂无评论...
验证码 换一张
取 消

最新问答

问答排行榜