Author: Emmanuel Rouat Date: To: anne.aublanc CC: La Guilde Subject: Re: J'ai besoin d'un exemple de cde de recherche
anne.aublanc@??? wrote: >
> Je veux rechercher un morceau de mot dans plusieurs fichiers d'un
> répertoire. (avec la cde find ou autre...)
>
> Je recherche par exemple le mot '*masq*' dans tous les fichiers du
> répertoire /home
>
> anne
function fstr() # find pattern in file(s)
{
OPTIND=1
local test=""
local case=""
local usage="fstr: find string in files.
Usage: fstr [-i] \"pattern\" [\"filename pattern\"] "
while getopts :it opt
do
case "$opt" in
i) case="-i " ;;
*) echo "$usage"; return;;
esac
done
shift $(( $OPTIND - 1 ))
if [ "$#" -lt 1 ]; then
echo "$usage"
return;
fi
local SMSO=$(tput smso)
local RMSO=$(tput rmso)
find . -type f -name "${2:-*}" -print | xargs grep -sn ${case} "$1" | \
sed "s/$1/${SMSO}$1${RMSO}/gI" |more
}