Forum des développeurs  

Le forum de référence en programmation et développement. Articles, cours et tutoriels du débutant au chef de projet et DBA confirmé.
Précédent   Forum des développeurs > Hardware, Systèmes et Logiciels > Linux > Applications > Shell

Shell Vos questions sur l'utilisation des commandes shell

Réponse
 
Outils de la discussion
Vieux 08/08/2008, 12h14   #1 (permalink)
Invité de passage
 
Date d'inscription: août 2008
Messages: 8
Par défaut sed remplacer <,>,/

Bonjour à tous,

J'aimerais remplacer des caractères "<" et ">" respectivement par "&lt;" et "&gt;" dans un fichier en utilisant la commande sed. J'ai testé plusieurs possibilités sans résultat.
Dans le cas de "<" :

Code :
sed -e "s/'<'/'&lt;'/g" fichier > temp.tmp && mv -f temp.tmp fichier
ou
Code :
sed -e 's/"<"/"&lt;"/g' fichier > temp.tmp && mv -f temp.tmp fichier
Si vous pourriez m'orienter vers la bonne sortie, ce serait cool.

Merci d'avance.
WillyPayne est déconnecté   Envoyer un message privé Réponse avec citation
Vieux 08/08/2008, 12h38   #2 (permalink)
Membre Confirmé
 
Date d'inscription: décembre 2006
Messages: 201
Par défaut

Salut,

les ' dans ta ligne n'ont pas lieu d'être. Ton code devient donc :

Code :
sed -e "s/</&lt;/g" fichier > temp.tmp && mv -f temp.tmp fichier
utiliser \ pour échapper les caractères devant l'être.
__________________
Winnt
Winnt est déconnecté   Envoyer un message privé Réponse avec citation
Vieux 08/08/2008, 12h47   #3 (permalink)
Membre éprouvé
 
Avatar de KindPlayer
 
Date d'inscription: février 2007
Messages: 451
Par défaut

et pour pas faire ton mic mac avec un fichier temp, tu peux appliquer l'option -i à sed qui change à l'interieur du fichier directement.
__________________
La science est ce que nous comprenons suffisamment bien pour l'expliquer à un ordinateur. L'art, c'est tout ce que nous faisons d'autre.
Donald E. Knuth
KindPlayer est déconnecté   Envoyer un message privé Réponse avec citation
Vieux 08/08/2008, 13h19   #4 (permalink)
Invité de passage
 
Date d'inscription: août 2008
Messages: 8
Par défaut

Merci les gars, ca fonctionne, mais ce qui est étonnant c'est que j'avais essayé sans ' et ca m'a retourné des erreurs...j'ai fait p-e une erreur quelque part.

J'ai oublié un point, en remplaçant < par &lt; , ca me pause un problème : mes fichiers sont des .scv (qui seront transformés en XML) , alors avec ";" dedans ca m'arrange rien, enfin c'est un autre problème, mais si c'est toujours dans vos compétences, je suis preneur

En tout cas merci.
WillyPayne est déconnecté   Envoyer un message privé Réponse avec citation
Vieux 08/08/2008, 14h05   #5 (permalink)
Membre Confirmé
 
Date d'inscription: décembre 2006
Messages: 201
Par défaut

Salut,

Montre une ligne d'origine et une ligne modifiée que l'on voit ce que tu veux faire.
__________________
Winnt
Winnt est déconnecté   Envoyer un message privé Réponse avec citation
Vieux 11/08/2008, 12h48   #6 (permalink)
Invité de passage
 
Date d'inscription: août 2008
Messages: 8
Par défaut

Mon but est de récupérer des données d'une DB et les injecter dans une autre via un outil basé sur php...
Je reviens sur le fichier .csv

Je récupère les champs et range dans le fichier .csv dans l'ordre:
Name, summary, results
Name, summary, results
... qui sera ensuite transformé en XML.

Le souci c'est que dans ces champs présentent les balises html (<p></p>, <br/>...etc) ou des "," ";".

Si je trouve pas de solutions, j'envisagerais le pire, c'est à dire les supprimer

Par ailleurs, en shell, comment ranger les données dans l'ordre ci-dessus parce qu'une requête de Name retourne tous les Names avant de passer à la 2eme requête...je ne sais pas si je me fais comprendre...

Encore une fois merci
WillyPayne est déconnecté   Envoyer un message privé Réponse avec citation
Réponse

Précédent   Forum des développeurs > Hardware, Systèmes et Logiciels > Linux > Applications > Shell



Outils de la discussion

Règles de messages
Vous ne pouvez pas créer de nouvelles discussions
Vous ne pouvez pas envoyer des réponses
Vous ne pouvez pas envoyer des pièces jointes
Vous ne pouvez pas modifier vos messages

Les balises BB sont activées : oui
Les smileys sont activés : oui
La balise [IMG] est activée : oui
Le code HTML peut être employé : non
Trackbacks are non
Pingbacks are non
Refbacks are non
Navigation rapide