#!/bin/bash
# find in files
if [ $# -eq 0 ]; then echo "usage: $0 \"
\" \"\" \"\" [-verbose]"; exit 1; fi
dirs=$1;
filepattern=$2;
searches=$3;
option=$4;
cnt=0;
for d in $dirs; do
tmp=$(mktemp -p /tmp XXXXXX); rm -f $tmp; tmp="_"${tmp//\//}${tmp//\//}tmp"_"; # echo $tmp; # make random string (YY6Qjj), then change to _tmpYY6QjjtmpYY6Qjjtmp_
files=$(find $d -type f -name "$filepattern" | sed -e "s/ /$tmp/g"); # echo $files; # get files and apply temp string replacement for " " to keep files w/ spaces in names together
for f in $files; do
g=${f//$tmp/ }; # echo "$g ..."; # remove temp string replacement for " "
if [ "$(egrep -c "$searches" "$g")" != "0" ]; then
(( cnt++ ));
echo "** [$cnt] $f ** ";
if [ "$option" = "-V" ] || [ "$option" = "-verbose" ]; then
egrep -n -B2 -A2 "$searches" "$g";
echo "";
fi
fi
done
done