IdentifiantMot de passe
Loading...
Mot de passe oublié ?Je m'inscris ! (gratuit)
Navigation

Inscrivez-vous gratuitement
pour pouvoir participer, suivre les réponses en temps réel, voter pour les messages, poser vos propres questions et recevoir la newsletter

Shell et commandes GNU Discussion :

sed remplacer <,>,/


Sujet :

Shell et commandes GNU

Vue hybride

Message précédent Message précédent   Message suivant Message suivant
  1. #1
    Membre averti
    Profil pro
    Inscrit en
    Août 2008
    Messages
    46
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Août 2008
    Messages : 46
    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 : Sélectionner tout - Visualiser dans une fenêtre à part
    sed -e "s/'<'/'&lt;'/g" fichier > temp.tmp && mv -f temp.tmp fichier
    ou
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    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.

  2. #2
    Rédacteur/Modérateur
    Avatar de Winnt
    Homme Profil pro
    budget et contrôle de gestion
    Inscrit en
    Décembre 2006
    Messages
    1 978
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 57
    Localisation : France

    Informations professionnelles :
    Activité : budget et contrôle de gestion
    Secteur : Administration - Collectivité locale

    Informations forums :
    Inscription : Décembre 2006
    Messages : 1 978
    Par défaut
    Salut,

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

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    sed -e "s/</&lt;/g" fichier > temp.tmp && mv -f temp.tmp fichier
    utiliser \ pour échapper les caractères devant l'être.
    Winnt
    Merci de lire les règles du forum LaTeX et Qu'est ce qu'un ECM ?.
    N'hésitez pas à parcourir la FAQ la réponse y est peut-être déjà.
    Pensez au bouton si votre problème est résolu.


    C'est en Linuxant qu'on devient .... geek
    Et c'est en LateXant qu'on devient flemmard
    Mon blog tout neuf.
    Articles : présentation de la distribution Gentoo, Les index sous LaTeX et leur personnalisation.

  3. #3
    Membre chevronné Avatar de KindPlayer
    Profil pro
    Inscrit en
    Février 2007
    Messages
    471
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Février 2007
    Messages : 471
    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.

  4. #4
    Membre averti
    Profil pro
    Inscrit en
    Août 2008
    Messages
    46
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Août 2008
    Messages : 46
    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.

  5. #5
    Rédacteur/Modérateur
    Avatar de Winnt
    Homme Profil pro
    budget et contrôle de gestion
    Inscrit en
    Décembre 2006
    Messages
    1 978
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 57
    Localisation : France

    Informations professionnelles :
    Activité : budget et contrôle de gestion
    Secteur : Administration - Collectivité locale

    Informations forums :
    Inscription : Décembre 2006
    Messages : 1 978
    Par défaut
    Salut,

    Montre une ligne d'origine et une ligne modifiée que l'on voit ce que tu veux faire.
    Winnt
    Merci de lire les règles du forum LaTeX et Qu'est ce qu'un ECM ?.
    N'hésitez pas à parcourir la FAQ la réponse y est peut-être déjà.
    Pensez au bouton si votre problème est résolu.


    C'est en Linuxant qu'on devient .... geek
    Et c'est en LateXant qu'on devient flemmard
    Mon blog tout neuf.
    Articles : présentation de la distribution Gentoo, Les index sous LaTeX et leur personnalisation.

  6. #6
    Membre averti
    Profil pro
    Inscrit en
    Août 2008
    Messages
    46
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Août 2008
    Messages : 46
    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

Discussions similaires

  1. Usage de SED: remplacement d'une ligne par une autre
    Par Shub-Niggurath dans le forum Administration système
    Réponses: 1
    Dernier message: 18/09/2008, 20h07
  2. sed: remplacer une ligne qui commence par Version
    Par lili2704 dans le forum Linux
    Réponses: 8
    Dernier message: 21/07/2008, 14h26
  3. ksh : sed, remplacer un élément de valeur inconnue
    Par mitch1 dans le forum Shell et commandes GNU
    Réponses: 2
    Dernier message: 10/01/2008, 22h07
  4. Réponses: 2
    Dernier message: 29/08/2007, 12h52
  5. SED Remplacement du caractère . 'point'
    Par Fluxy dans le forum Shell et commandes GNU
    Réponses: 1
    Dernier message: 04/06/2007, 14h37

Partager

Partager
  • Envoyer la discussion sur Viadeo
  • Envoyer la discussion sur Twitter
  • Envoyer la discussion sur Google
  • Envoyer la discussion sur Facebook
  • Envoyer la discussion sur Digg
  • Envoyer la discussion sur Delicious
  • Envoyer la discussion sur MySpace
  • Envoyer la discussion sur Yahoo