Création
d'entreprise
Posez votre question Signaler

Commande sed [Résolu]

simo - Dernière réponse le 28 févr. 2008 à 11:02
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>
Lire la suite 

Commande sed »

Suggestions
23 réponses
Réponse
+0
moins plus
Salut,
 sed '/<b>/{n;s/name/nom/}'
;-))
Ajouter un commentaire
Réponse
+0
moins plus
ça ne marche pas :(
Ajouter un commentaire
Réponse
+0
moins plus
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$
;-))
Ajouter un commentaire
Réponse
+0
moins plus
ça ne marche pas avec korn shell sous aix?!!
Ajouter un commentaire
Réponse
+0
moins plus
T'as pas un message d'erreur ?
Ajouter un commentaire
Réponse
+0
moins plus
Analyse syntaxique de la fonction /<b>/{n;s/name/nom/} impossible.
Ajouter un commentaire
Réponse
+0
moins plus
Essaies sans les chevrons :
sed '/b/{n;s/name/nom/}'
ou en les protégeant :
sed '/\<b\>/{n;s/name/nom/}'
;-)
Ajouter un commentaire
Réponse
+0
moins plus
le problème persiste, je crois que c le {n qui lui pose problème :(
Ajouter un commentaire
Réponse
+0
moins plus
Essaye avec "N" alors :
sed '/b/{N;s/name/nom/}'
Ajouter un commentaire
Réponse
+0
moins plus
c déjà fait :) mais ça ne marche pas :(
Ajouter un commentaire
Réponse
+0
moins plus
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.
Ajouter un commentaire
Réponse
+0
moins plus
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 :)
Ajouter un commentaire
Réponse
+0
moins plus
la bonne nouvelle, c'est que je suis arrivé à le faire autrement
Ben c'est le principal ;-))
Ajouter un commentaire
Réponse
+0
moins plus
merci
Ajouter un commentaire
Réponse
+0
moins plus
De rien, mais j'ai pas fait grand chose sur ce coup là ;-))
Ajouter un commentaire
Réponse
+0
moins plus
t'es le meilleur ;)
Ajouter un commentaire
Réponse
+0
moins plus
Loin s'en faut ;-)
Ajouter un commentaire
Réponse
+0
moins plus
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 ;)
Ajouter un commentaire
Réponse
+0
moins plus
;-))

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 ;-)
Ajouter un commentaire
Réponse
+0
moins plus
erreur :

ksh: 0403-057 Erreur de syntaxe.: `<' imprévu.
Ajouter un commentaire
Ce document intitulé « commande sed » issu de CommentCaMarche (www.commentcamarche.net) est mis à disposition sous les termes de la licence Creative Commons. Vous pouvez copier, modifier des copies de cette page, dans les conditions fixées par la licence, tant que cette note apparaît clairement.
Dossier à la une
Passage au tout numérique : quel coût pour les particuliers ?
commande sed - page 2