Sed subsitution dans un texte entre > et <

Pims83 Messages postés 20 Date d'inscription   Statut Membre Dernière intervention   -  
jipicy Messages postés 40842 Date d'inscription   Statut Modérateur Dernière intervention   -
Bonjour,

je cherche comme le titre in dique a faire une substituion qui mest plutot difficile
Aller des exemple et ce sera plus claire

ex transformer tatatat>toto<tatatatata en tatatat>t o t o <tatatatata

pour arriver à faire ca :

tataerq>bonjour comment ca va<tazrgthyjyjuht>bien et toi ?<tataiopkli_hjt>pas trop mal !<dhfgbrthtatatat>lol<tatatatazerdfcef>

tataerq>b o n j o u r c o m m e n t c a v a <tazrgthyjyjuht>b i e n e t t o i ? <tataiopkli_hjt>p a s t r o p m a l ! <dhfgbrthtatatat>l o l <tatatatazerdfcef>


ce dernière exemple pour dire que le motif peut ce répeter plusieur fois par ligne

alors j ais essayer differente methode à base de sed :

echo $texte | sed 's|\(.*>\).*\(<.*\)|\1& \2|'

Merci de votre coup de pouce
A voir également:

2 réponses

Pims83 Messages postés 20 Date d'inscription   Statut Membre Dernière intervention  
 
Je vien de trouver une solution mais plutot lourde:

var="tataerq>bonjour comment ca va<tazrgthyjyjuht>bien et toi ?<tataiopkli_hjt>pas trop mal !<dhfgbrthtatatat>lol<tatatatazerdfcef>"
texte="";

for i in $( echo $var | sed 's/>/>\n/g' | sed 's/</\n</g');
do
if [ "$(echo $i | grep "<" )" = "" ];
then
i=$(echo $i | sed 's/./& /g');
fi;
texte=${texte}$i;
done;

apparament ca marche ;D
0
jipicy Messages postés 40842 Date d'inscription   Statut Modérateur Dernière intervention   4 896
 
Salut,

[tmpfs]$ echo $C
tataerq>bonjour comment ca va<tazrgthyjyjuht>bien et toi ?<tataiopkli_hjt>pas trop mal !<dhfgbrthtatatat>lol<tatatatazerdfcef>

[tmpfs]$ cat prog.sed
#n
:z
/>$/ {
    1 !H
    1 h
    n
    s/./& /g
    H
    n
    $ !b z
    H
    g
    s/\n//g
    s/  //g
    p
}

[tmpfs]$ echo $C | sed 's/>/&\n/g;s/</\n&/g'| sed '$d' | sed -f prog.sed
tataerq>b o n j o u r c o m m e n t c a v a <tazrgthyjyjuht>b i e n e t t o i ? <tataiopkli_hjt>p a s t r o p m a l ! <dhfgbrthtatatat>l o l <tatatatazerdfcef>

[tmpfs]$

;-))
0