Shell supprimer chaine de caractere

Résolu/Fermé
zil Messages postés 30 Date d'inscription vendredi 25 octobre 2002 Statut Membre Dernière intervention 18 février 2010 - 2 janv. 2009 à 23:56
 lendi - 30 mars 2009 à 10:36
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...
A voir également:

7 réponses

Wardog Messages postés 389 Date d'inscription mercredi 5 octobre 2005 Statut Membre Dernière intervention 17 octobre 2009 159
2 janv. 2009 à 23:59
Bonsoir

et en mettant <a class="ref" href=* >?
0
jipicy Messages postés 40842 Date d'inscription jeudi 28 août 2003 Statut Modérateur Dernière intervention 10 août 2020 4 895
3 janv. 2009 à 00:07
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
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
jipicy Messages postés 40842 Date d'inscription jeudi 28 août 2003 Statut Modérateur Dernière intervention 10 août 2020 4 895 > lendi
30 mars 2009 à 10:05
 sed 's/{.*}//'
0
lendi > jipicy Messages postés 40842 Date d'inscription jeudi 28 août 2003 Statut Modérateur Dernière intervention 10 août 2020
30 mars 2009 à 10:36
merci beaucoup jipicy.
0
zil Messages postés 30 Date d'inscription vendredi 25 octobre 2002 Statut Membre Dernière intervention 18 février 2010 1
3 janv. 2009 à 00:34
merci
c'est génial et super rapide
bravo

Zil...
0
zil Messages postés 30 Date d'inscription vendredi 25 octobre 2002 Statut Membre Dernière intervention 18 février 2010 1
3 janv. 2009 à 12:16
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
jipicy Messages postés 40842 Date d'inscription jeudi 28 août 2003 Statut Modérateur Dernière intervention 10 août 2020 4 895
3 janv. 2009 à 12:23
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

Vous n’avez pas trouvé la réponse que vous recherchez ?

Posez votre question
zil Messages postés 30 Date d'inscription vendredi 25 octobre 2002 Statut Membre Dernière intervention 18 février 2010 1
3 janv. 2009 à 12:24
bon je crois que
sed 's#wi.*"##'

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

Zil...
0
jipicy Messages postés 40842 Date d'inscription jeudi 28 août 2003 Statut Modérateur Dernière intervention 10 août 2020 4 895
3 janv. 2009 à 13:41
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
zil Messages postés 30 Date d'inscription vendredi 25 octobre 2002 Statut Membre Dernière intervention 18 février 2010 1
3 janv. 2009 à 12:40
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
jipicy Messages postés 40842 Date d'inscription jeudi 28 août 2003 Statut Modérateur Dernière intervention 10 août 2020 4 895
3 janv. 2009 à 14:03
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
zil Messages postés 30 Date d'inscription vendredi 25 octobre 2002 Statut Membre Dernière intervention 18 février 2010 1
3 janv. 2009 à 13:59
ok, merci j'ai pigé...

Zil...
0