shell scripting: grepping multiple patterns, logically ANDed

Aleksandr Miroslav alexmiroslav at gmail.com
Wed Jun 27 14:25:48 UTC 2012


hello,

I'm not sure if this is the right forum for this question, but here
goes.

I have the following in a shell script:


    #!/bin/sh

    if [ "$#" -eq "0" ]; then
            find /foo
    fi
    if [ "$#" -eq "1" ]; then
            find /foo | grep -i $1
    fi
    if [ "$#" -eq "2" ]; then
            find /foo | grep -i $1 | grep -i $2
    fi
    if [ "$#" -eq "3" ]; then
            find /foo | grep -i $1 | grep -i $2 | grep -i $3
    fi

Is there an easier/shorter way to do this? If there are 15 arguments
supplied on the command line, I don't necessarily want to build 15 if
statements.

Thanks in advance for your answers.


More information about the freebsd-questions mailing list