#!/bin/bash
# grp.sh : Une réimplémentation brute de 'grep'.

E_MAUVAISARGS=65

if [ -z "$1" ]    # Vérification standard des arguments en ligne de commande.
then
  echo "Usage: `basename $0` motif"
  exit $E_MAUVAISARGS
fi  

echo

for fichier in *          # Parcourt tous les fichiers dans $PWD.
do
  sortie=$(sed -n /"$1"/p $fichier)  # Substitution de commande.

  if [ ! -z "$sortie" ]   # Que se passe t-il si "$sortie" n'est pas
                          # entre guillemets ?
  then
    echo -n "$fichier: "
    echo $sortie
  fi     #  sed -ne "/$1/s|^|${fichier}: |p"  est l'équivalent de dessus.

  echo
done  

echo

exit 0

# Exercices :
# ----------
# 1) Ajoutez des sauts de lignes à la sortie,
#    s'il y a plus d'une correspondance dans n'importe quel fichier donné.
# 2) Ajoutez des nouvelles possibilités.
