Commande sed
Résolu
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>
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>
Configuration: Windows XP Internet Explorer 7.0
23 réponses
-
ModérateurSalut,
sed '/<b>/{n;s/name/nom/}';-))
-
ça ne marche pas :(
-
ModérateurT'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$;-))
-
ça ne marche pas avec korn shell sous aix?!!
-
ModérateurT'as pas un message d'erreur ?
-
Analyse syntaxique de la fonction /<b>/{n;s/name/nom/} impossible.
-
ModérateurEssaies sans les chevrons :
sed '/b/{n;s/name/nom/}'ou en les protégeant :sed '/\<b\>/{n;s/name/nom/}';-)
-
le problème persiste, je crois que c le {n qui lui pose problème :(
-
ModérateurEssaye avec "N" alors :
sed '/b/{N;s/name/nom/}' -
c déjà fait :) mais ça ne marche pas :(
-
ModérateurQuelle 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. -
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 :) -
Modérateurla bonne nouvelle, c'est que je suis arrivé à le faire autrement
Ben c'est le principal ;-))
-
merci
-
ModérateurDe rien, mais j'ai pas fait grand chose sur ce coup là ;-))
-
t'es le meilleur ;)
-
ModérateurLoin s'en faut ;-)
-
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 ;)
-
Modérateur;-))
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 ;-)
-
erreur :
ksh: 0403-057 Erreur de syntaxe.: `<' imprévu.
- 1
- 2
Suivant