Just grip it !
Aujourd’hui je vous propose un petit script bash (enfin une fonction) assez simple permettant de faire une recherche avec grep utilisant divers paramètres et autres exclusions.
Mon besoin
Lister tous les fichiers contenant un motif
La problèmatique
Le projet est versionné avec SVN, je n’ai donc besoin que des fichiers de travail et dédoublonnés.
Pourquoi un script pour ça ?
La commande que j’utilisais ressemblait à ça :
-
grep -rl motif path | grep -v svn | uniq
Le problème ici c’est que la commande n’est pas des plus commode à taper (et se rappeler), j’ai donc voulu créer un alias, mais ces derniers ne prennent pas de paramètres (ou bien je n’ai pas trouvé).
Ma solution
-
-
function grip() {
-
if [ -n "$1" ]
-
then
-
if [ -n "$2" ]
-
then
-
grep -rl $1 $2 | grep -v svn | uniq
-
else
-
grep -rl $1 ./ | grep -v svn | uniq
-
fi
-
else
-
echo "Il faut préciser la recherche"
-
fi
-
}
-
Cette petite fonction prend 2 paramètres (le deuxième étant optionnel) :
1: le motif
2: le path de recherche
Ce qui nous donne par exemple :
-
grip motif ./
J’espère que ça en aidera certains, comme d’habitude je suis preneur suggestions, critiques et tout ça.

