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 :

  1. 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

  1.  
  2. function grip() {
  3.     if [ -n "$1" ]
  4.     then
  5.         if [ -n "$2" ]
  6.         then
  7.             grep -rl $1 $2 | grep -v svn | uniq
  8.        else
  9.             grep -rl $1 ./ | grep -v svn | uniq
  10.        fi
  11.    else
  12.        echo "Il faut préciser la recherche"
  13.    fi
  14. }
  15.  

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 :

  1. grip motif ./

J’espère que ça en aidera certains, comme d’habitude je suis preneur suggestions, critiques et tout ça.

Hein? Développement, , , ,

Répondre