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.
Partager