支持多次grep的 mgrep函数

支持多次grep的 mgrep函数

用过grep的同学几乎都会遇见需要多次grep的情况


ps -ef | grep ssh | grep -v grep
grep -v '#' < file | grep xxx | grep yyy

于是写了个小函数实现多次grep
原理很简单, 递归grep即可
大家伙看看有没更好的办法
复制内容到剪贴板
代码:
## to grep multipul times, supposed to be used after a pipe or with read redirection
## Example:  ps -ef | mgrep -v grep xxx;        mgrep  xxx yyy zzz < your_file
mgrep()
{
    local key="$1"
    local opt=

    if [[ -z "$key" ]]; then
        cat     
        return  
    fi

    while [[ ${key:0:1} == '-' ]]; do
        opt="$opt $key"
        shift   
        key="$1"
    done   

    shift   
    grep $opt $key | mgrep $@
}
期望支持grep本身的各种选项, 但没好好实现

      
可以再完善一下哈       
权当抛砖引玉
等各看大佬出手