next up previous contents index
suivant: Exemple 3 monter: Exemples avancés précédent: Exemple 1   Table des matières   Index


Exemple 2

Le but de cet exemple est d'afficher toutes les lignes d'un fichier se terminant par « */ ».

Pour cela, nous allons utiliser la notion des espaces de travail de « sed ». Nous avons vu, à la section [*], que « sed » copiait dans son espace de travail, toutes les lignes (ou enregistrements), arrivant sur son entrée standard, correspondant aux critères de sélection spécifiés dans les adresses de début et de fin de la requête.

Il ne nous reste donc qu'à formuler le critère de sélection adéquat et d'afficher sur la sortie standard, le contenu de l'espace de travail.

La chaîne à considérer est donc « */ ». Or le caractère « * » a une signification particulière dans une expression régulière. Par conséquent, le caractère d'échappement « \ » doit être utilisé. L'expression régulière correspondant à la chaîne « */ » est donc « \*/ ». Il ne reste plus qu'à y ajouter le caractère adéquat pour les expressions régulières caractérisant la fin d'une ligne, c'est-à-dire « $ ». Nous obtenons donc l'expression suivante :

\*\/$

Le critère de sélection à appliquer dans la spécification des adresses de début et de fin pour la requête « sed » correspond à toutes les lignes satisfaisant l'expression régulière précédente. Ces deux adresses seront donc identiques et correspondront à cette expression. Il suffira donc de ne la spécifier qu'une seule fois en la délimitant par le caractère « / ».

La commande permettant d'afficher l'espace de travail sur la sortie standard, est « p ».

Nous obtenons donc :

sed -n '/\*\/$/p' fichier


next up previous contents index
suivant: Exemple 3 monter: Exemples avancés précédent: Exemple 1   Table des matières   Index
baudry@esme.fr