Ça dépend un peu de la longueur du fichier, mais tu peux peut être matcher les lignes une par une, quelque chose comme ça :
sed -e ':a;/sssss$\|yyyyy$/N;s/\n[ \t]*/ /;ta' ton_fichier |
(il ne fallait pas s'attendre à du code de qualitaÿ à cette heure là, hein
)
Avec bien sûr les regex qui correspondent aux lignes desquelles tu veux enlever le retour à la ligne final.
Si tes lignes se ressemblent trop, tu peux aussi matcher la ligne après le retour à la ligne. Pour un test basique :
sed -e ':a;/sssss$\|yyyyy$/N;/----\|01/s/\n[ \t]*/ /;ta' ton_fichier |
(
; mais il n'y a rien de compliqué en fait, je peux expliquer si tu veux, mais demain soir
)
Cependant si tu as systématiquement des espaces ou des tabulations après le retour à la ligne, et que ton fichier est assez gros ou qu'il évolue souvent, tu as intérêt d'utiliser plutôt ce fait. En sed, ça commence à devenir un peu plus compliqué : je te conseillerais plutôt perl pour ça
(pour l'encadrage : balise [ fixed]; tu peux editer ce post pour voir comment ça marche si tu veux)