Bonjour,

Je souhaite exposer mon problème à la suite de ce sujet car c'est sur la même commande de sed que je rencontre un problème.

Je cherche à ressortir les enregistrements qui sont supprimés dans un fichier issu d'un diff.

Le fichier en sorti de comparasion du diff sort les informations suivantes:

3,4c3,4
< enreg1
< enreg2
--
> enreg3
> enreg4
208938d208876
< enreg14
208941d208878
< enreg18
208945d208881
< enreg20
208429,208431d208393
< enreg998
< enreg999
< enreg1000

Je ne veux conserver dans ce fichier diff uniquement les intervalles qui concernent d avec ses enregistrements <


pour cela j'utilise la recherche de sed par intervalle:

sed -n '/d/,/^[0-9]/p' diff > diffresd

Cela récupère bien les intervalles avec d sauf lorsque le motif de fin contient d

208938d208876
< enreg998
208941d208878
208945d208881
< enreg1000

dans ce mode sed ne reprend pas le motif de fin comme motif de début.

Du coup sed ne récupère pas les enregistrements

208941d208878
<... -> pas récupéré
<... -> pas récupéré
208945d208881

J'ai cherché dans le man mais je n'ai pas trouvé d'option pour ce type de sed, avez-vous une astuce, car je dois pas être loin de la solution.