La même chose mais avec l'outil sed cette fois.
Je veux donc afficher ce qui se trouve entre deux motifs, mais en utilisant des variables à la place des motifs. J'utilise le fichier suivant :
Ce fichier est un fichier particulier
car il contient un passage sensible situé
entre MOTIF_01 et
une balise
de fin
appelée MOTIF_02. Il s'agit d'extraire
ce qui se situe entre les deux.
Pour cela j'utilise sed de la façon suivante :
# Le cas classique avec MOTIF_01 et MOTIF_02
cat mon_fichier | sed -n "/MOTIF_01/,/MOTIF_02/p"
# Ce qui me donne
entre MOTIF_01 et
une balise
de fin
appelée MOTIF_02. Il s'agit d'extraire
En fait, cela me donne ce qui se trouve entre les lignes comprenant les motifs, en plus des lignes comprenant les motifs. Après ça, un substitution avec sed "s///" finit le travail.
# En utilisant des variables (il suffit de les ajouter aux motifs)
cat mon_fichier | sed -n "/MOTIF_01$VAR_01/,/$VAR_02/p"