next up previous contents index
suivant: Utilisation de « sed » monter: Utilisation avancées de certains précédent: Utilisation de « fgrep »   Table des matières   Index


Remarque sur l'utilisation de l'option « -f »

À la règle 10 explicitée à la section [*], nous avions préciser que la première ligne d'un script devait spécifier le nom de l'exécutable associé au shell utiliser.

Nous avons vu de même, que les commandes « egrep » et « fgrep » disposent de l'option « -f », permettant de préciser un fichier de requêtes de recherche.

Si l'analogie est faite avec le shell, le processus chargé d'évaluer chaque ligne du fichier est l'exécutable spécifié au niveau de la première ligne du fichier contenant les instructions. Par conséquent si le fichier contenant les requêtes de recherche :

il peut être considéré comme un filtre exécutant les requêtes de recherche associé à « egrep » ou « fgrep » qu'il contient.

Si nous prenons tout d'abord l'exemple de « egrep », l'exemple suivant permet de rechercher, sur l'entrée standard (ou bien dans la liste de fichiers spécifiée en argument), toutes les lignes satisfaisant les expressions régulières suivantes :

et d'afficher le résultat sur la sortie standard.
#!/usr/bin/egrep
^[A-Z]
[0-9]$

Le résultat affiché seront toutes les lignes satisfaisant au moins l'un des deux critères. Si cet exemple est enregistré dans le fichier « localise », et que celui-ci est accessible en exécution, il suffira de taper la commande suivante pour obtenir le résultat escompté :

localise fichier $\cdots$
ou bien, si la commande est utilisée comme un filtre :
commande_envoyant_sur_la_sortie_standard | localise fichier $\cdots$

Le principe d'utilisation pour la commande « fgrep » reste identique à la restriction près que « fgrep » recherche des chaînes sans aucune interprétation des expressions spécifiées dans le fichier. Par conséquent, si nous avons :

#!/usr/bin/fgrep
^[A-Z]
[0-9]$
cette nouvelle commande, en supposant que le fichier soit enregistré sous le nom « localise2 », recherchera sur les fichiers spécifiés en argument, ou bien sur l'entrée standard, toutes les lignes contenant au moins l'une des deux chaines suivantes :

Tout comme la commande précédente, l'appel pourra se faire selon les deux méthodes ci-après :

localise2 fichier $\cdots$
ou bien, si la commande est utilisée comme un filtre :
commande_envoyant_sur_la_sortie_standard | localise2 fichier $\cdots$


next up previous contents index
suivant: Utilisation de « sed » monter: Utilisation avancées de certains précédent: Utilisation de « fgrep »   Table des matières   Index
baudry@esme.fr