Recursive grep (grepr) for Solaris

Josh Sherman
1 min read
Command-line Interface Shell Script

So if you’re a Linux user that’s ever used Solaris, you know that a lot of the commands don’t translate exactly the same. One such issue is the lack of a recursive flag (-R) on the grep command. Not a problem though, bash is a powerful thing. Here’s my solution to the problem:

#!/bin/bash

# Simulates the Linux grep with the recursive flag -R Originally built to
# keep my sanity on older Sun Solaris installs.
#
# @author Josh Sherman
# @link http://joshtronic.com

if [ -z "$1" ]; then
    echo "Usage: grepr.sh pattern path"
    exit
fi

if [ -z "$2" ]; then
    SEARCH_PATH="."
else
    SEARCH_PATH="$2"
fi

for i in `find $SEARCH_PATH`; do
    RESULTS=$(grep "$1" $i)

    if [ "$RESULTS" ]; then
        echo
        echo "$i:"
        echo "$RESULTS"
    fi
done
Join the Conversation

Good stuff? Want more?

Weekly emails about technology, development, and sometimes sauerkraut.

100% Fresh, Grade A Content, Never Spam.

Related Articles