Commande sed

Résolu
simo -  
jipicy Messages postés 40842 Date d'inscription   Statut Modérateur Dernière intervention   -
Bonjour,
Je veux modifier la balise name qui est juste aprés la balise <b>

fichier en entée :
<a>
<name = toto>
<b>
<name = titi>

fichier en sortie :

<a>
<name = toto>
<b>
<nom = titi>
A voir également:

23 réponses

jipicy Messages postés 40842 Date d'inscription   Statut Modérateur Dernière intervention   4 896
 
Salut,
 sed '/<b>/{n;s/name/nom/}'
;-))
0
simo
 
ça ne marche pas :(
0
jipicy Messages postés 40842 Date d'inscription   Statut Modérateur Dernière intervention   4 896
 
T'es sûr ?
jp@MDK:~/tmpfs ssh$ cat plop
<a>
<name = toto>
<b>
<name = titi>

jp@MDK:~/tmpfs ssh$ sed '/<b>/{n;s/name/nom/}' plop
<a>
<name = toto>
<b>
<nom = titi>

jp@MDK:~/tmpfs ssh$
;-))
0
simo
 
ça ne marche pas avec korn shell sous aix?!!
0

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

Posez votre question
jipicy Messages postés 40842 Date d'inscription   Statut Modérateur Dernière intervention   4 896
 
T'as pas un message d'erreur ?
0
simo
 
Analyse syntaxique de la fonction /<b>/{n;s/name/nom/} impossible.
0
jipicy Messages postés 40842 Date d'inscription   Statut Modérateur Dernière intervention   4 896
 
Essaies sans les chevrons :
sed '/b/{n;s/name/nom/}'
ou en les protégeant :
sed '/\<b\>/{n;s/name/nom/}'
;-)
0
simo
 
le problème persiste, je crois que c le {n qui lui pose problème :(
0
jipicy Messages postés 40842 Date d'inscription   Statut Modérateur Dernière intervention   4 896
 
Essaye avec "N" alors :
sed '/b/{N;s/name/nom/}'
0
simo
 
c déjà fait :) mais ça ne marche pas :(
0
jipicy Messages postés 40842 Date d'inscription   Statut Modérateur Dernière intervention   4 896
 
Quelle version de "sed" ? (sed --version)

Tu essaies sur un exemple comme celui que tu m'as donné ou sur un autre fichier ? Si c'est le cas (autre fichier) affiche moi-le ici s'il te plaît.
0
simo
 
Bonjour jipicy,
non, j'essaie sur le même fichier :)
la bonne nouvelle, c'est que je suis arrivé à le faire autrement : sed '3,4 s/name/nom/'
Merci encore :)
0
jipicy Messages postés 40842 Date d'inscription   Statut Modérateur Dernière intervention   4 896
 
la bonne nouvelle, c'est que je suis arrivé à le faire autrement
Ben c'est le principal ;-))
0
simo
 
merci
0
jipicy Messages postés 40842 Date d'inscription   Statut Modérateur Dernière intervention   4 896
 
De rien, mais j'ai pas fait grand chose sur ce coup là ;-))
0
simo
 
t'es le meilleur ;)
0
jipicy Messages postés 40842 Date d'inscription   Statut Modérateur Dernière intervention   4 896
 
Loin s'en faut ;-)
0
simo
 
Non, je t'assure que tu l'es :) t'es réactif aux questions posées et c'est le genre de personne dont on a besoin au niveau des forums ;)
0
jipicy Messages postés 40842 Date d'inscription   Statut Modérateur Dernière intervention   4 896
 
;-))

Tiens, tu peux essayer ça s'il te plaît (normalement "ed" doit être installé nativement) :
ed -s fichier <<< $'/b/ +1 s/name/nom/\n,p'
et si ça marche essaie derrière :
ed -s fichier <<< $'/b/ +1 s/name/nom/\nw'
Merci ;-)
0
simo
 
erreur :

ksh: 0403-057 Erreur de syntaxe.: `<' imprévu.
0