Shell supprimer chaine de caractere

Résolu
zil Messages postés 33 Statut Membre -  
 lendi -
Bonjour à tous

c'est pour un script shell dans linux

soit une ligne d'un fichier texte:

<td class="cell"><a class="ref" href="/adresse/ljfio15" ><strong>1</strong></a></td>

je cherche à enlever la partie <a class="ref" href="/adresse/ljfio15">

j'ai essayé avec le commande cut mais le probleme est que l'adresse "/adresse/ljfio15" n'est pas toujours la meme, la longueur peut varier

est il possible de lui dire de tout enlever entre < et > ???

merci
Zil...
Configuration: Linux
Firefox 3.0.5

7 réponses

  1. Wardog Messages postés 398 Statut Membre 159
     
    Bonsoir

    et en mettant <a class="ref" href=* >?
    0
  2. jipicy Messages postés 40842 Date d'inscription   Statut Modérateur Dernière intervention   4 898
     
    Salut,
    $ var='<td class="cell"><a class="ref" href="/adresse/ljfio15" ><strong>1</strong></a></td>'
    
    $ echo $var | sed 's#<a [^>]*>##'
    <td class="cell"><strong>1</strong></a></td>
    
    $
    ;-))
    0
    1. lendi
       
      Salut,

      j'essaie d'adapter la solution à mon problème sans succès, je cherche à supprimer une expression se trouvant entre des accolades, les accolades y compris.
      j'ai fait ça: sed 's#/{ [^}]*/}##'
      mais ça ne fonctionne pas.

      des idées?
      0
      1. jipicy Messages postés 40842 Date d'inscription   Statut Modérateur Dernière intervention   4 898 > lendi
         
         sed 's/{.*}//'
        0
      2. lendi > jipicy Messages postés 40842 Date d'inscription   Statut Modérateur Dernière intervention  
         
        merci beaucoup jipicy.
        0
  3. zil Messages postés 33 Statut Membre 1
     
    merci
    c'est génial et super rapide
    bravo

    Zil...
    0
  4. zil Messages postés 33 Statut Membre 1
     
    Salut
    bon et maintenant je veux virer width="10%" d'une chaine

    j'ai esayé sed 's#wi [^"]*>##'

    mais ca ne marche pas donc je n'ai rien compris à Sed

    puis je avoir une petite explication

    merci
    Zil...
    0
    1. jipicy Messages postés 40842 Date d'inscription   Statut Modérateur Dernière intervention   4 898
       
      Re-

      La syntaxe donnée plus haut n'est pas générique (du moins pas dans sa totalité), mais adaptée au cas présenté.

      Il faut adapter la regex (expression régulière) à chaque cas...

      Voir dans la FAQ : http://www.commentcamarche.net/faq/478 sed

      Ensuite concernant le 'width="10%"', il faut savoir si c'est un cas isolé ou non, s'il le pourcentage risque de changer, s'il est tout seul sur la ligne, etc.
      0
  5. Vous n’avez pas trouvé la réponse que vous recherchez ?

    Posez votre question
  6. zil Messages postés 33 Statut Membre 1
     
    bon je crois que
    sed 's#wi.*"##'

    fait l'affaire
    mais je n'ai pas compris [^>] dans l'expression de jipicy

    Zil...
    0
    1. jipicy Messages postés 40842 Date d'inscription   Statut Modérateur Dernière intervention   4 898
       
      mais je n'ai pas compris [^>] dans l'expression
      Les expressions régulières sont très gourmandes, et de ce fait pour reprendre l'expression ci-dessus :

      sed 's#<a [^>]*>##'

      si l'on avait écrit :

      sed 's#<a .*>##'

      le '.*>' aurait englobé tout ce qui suit le '<a ' jusqu'au dernier ">" rencontré sur la ligne. Donc il faut clairement signifier que l'on veut tout jusqu'au prochain ">" mais sans ">" à l'intérieur...
      0
  7. zil Messages postés 33 Statut Membre 1
     
    Ok, j'ai dejà regardé la FAQ mais je n'avais pas trouvé où ils en parlaient

    mon expression fonctionne dans la console masi pas dans un script shell

    sinon l'exression est seule sur la ligne, le % peut varier et il y en a plein dans le fichier

    Merci en tout cas

    Zil...
    0
    1. jipicy Messages postés 40842 Date d'inscription   Statut Modérateur Dernière intervention   4 898
       
      mon expression fonctionne dans la console masi pas dans un script shell
      Il faut nous afficher le script et l'erreur qui se produit, on n'est pas devin ;-))
      0
  8. zil Messages postés 33 Statut Membre 1
     
    ok, merci j'ai pigé...

    Zil...
    0