Forum |  HardWare.fr | News | Articles | PC | Prix | S'identifier | S'inscrire | Shop Recherche
1695 connectés 

  FORUM HardWare.fr
  Linux et OS Alternatifs
  Codes et scripts

  [sed] remplacer tout sauf une sous chaine ?

 



 Mot :   Pseudo :  
 
Bas de page
Auteur Sujet :

[sed] remplacer tout sauf une sous chaine ?

n°700609
weed
Posté le 01-07-2005 à 01:26:53  profilanswer
 

voila je cherche comment utilisé l'inverse. Loogiquement on utilise le !
 
Ca serait pour remplacer plusieurs sous chaines sur une longues chaines
 
 
kjhsdfk <href="toto"> lkjqsdlkjqd <href="titi"> me renverrait <href="toto"> <href="titi">

mood
Publicité
Posté le 01-07-2005 à 01:26:53  profilanswer
 

n°700617
Pillow
'cos the trees won't talk
Posté le 01-07-2005 à 02:54:46  profilanswer
 

sed 's/.*\(<href="toto">\).*\(<href="titi">\)/\1 \2/'

(pas testé mais je ne dois pas être loin)

n°700618
burgergold
5$? va chez l'diable!
Posté le 01-07-2005 à 03:05:58  profilanswer
 

semble baon (à un espace pres)
 


[root@lfs01]# cat test.txt
kjhsdfk <href="toto"> lkjqsdlkjqd <href="titi">
[root@lfs01]# sed 's/.*\(<href="toto">\).*\(<href="titi">\)/\1 \2/' test.txt
<href="toto"> <href="titi">

n°700781
weed
Posté le 01-07-2005 à 12:03:09  profilanswer
 

non ce n'est pas bon.
C'est une longue ligne. Je ne connais pas le nombre de sous chaine href ="  ". Apres ca se trouve il y a href="tata" apres.
 
J'ai une 15aine, 20aine de sous chaine href="  ", donc je ne pense pas que l'on puisse utiliser les motifs. C'est dans une tres longue chaine de caractère que je veux chercher.

n°700927
jlighty
Posté le 01-07-2005 à 16:20:49  profilanswer
 

à essayer :
en 2 étapes :
on supprime tous les </ > puis tous les < > ainsi on a que le texte non balisé
 echo <maligne> | sed "s/<\/.*>//g" | sed "s/<..*>//g"
 
ex: avec <maligne>=<a href=><b>toto</b></a>
j'obtiens toto
Ca devrait être possible en une seule passe grâce aux expressions régulières étendues mais comme je connais pas ce domaine, ma solution utilisera 2 passes.


Aller à :
Ajouter une réponse
  FORUM HardWare.fr
  Linux et OS Alternatifs
  Codes et scripts

  [sed] remplacer tout sauf une sous chaine ?

 

Sujets relatifs
remplacer une chaine de caractere sous vi[KSH] [RESOLU] extraction d'une sous-chaine
Remplacer miniPCI d'un Centrino...Comment remplacer le / par un espace ?
Connection chaine USB sous mandrake[USB] est-ce que mknod peut remplacer devfs dans un driver USB
Remplacer menu gnome par menu debian[shell] Comment tester une chaine sans tenir compte des maj/min
Comment remplacer c:\progFiles par D:\progfiles??Remplacer un caractere par un autre dans une chaine de caracteres
Plus de sujets relatifs à : [sed] remplacer tout sauf une sous chaine ?


Copyright © 1997-2018 Hardware.fr SARL (Signaler un contenu illicite / Données personnelles) / Groupe LDLC / Shop HFR