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 :

commandes sed via un shell


Sujet :

Shell et commandes GNU

  1. #1
    Candidat au Club
    Inscrit en
    Mai 2007
    Messages
    2
    Détails du profil
    Informations forums :
    Inscription : Mai 2007
    Messages : 2
    Par défaut commandes sed via un shell
    Bonjour.

    j'effectue une migration de données entre deux systèmes de bdd différents.
    Dans le premier, il doit y avoir un | après le dernier champ suite à un unload dans un fichier texte. Dans le second, bien évidemment sinon c'est pas drôle, le | indique la présence d'un autre champ.

    Je cherche donc à faire un sed pour enlever le | de fin de ligne (le dernier champ est toujours null dans ce cas là).

    Avec l'éditeur vi, je fais la commande

    :% s/||$/|/


    et tous mes | de fin de lignes sont supprimés.

    Seulement, je dois automatiser cela, et avec la ligne de commande en bash

    sed "s/||$/|/" monfich1 > monfich2


    les | restent en place.

    J'ai essayé de protéger par \ le $ en me disant qu'il pouvait être interprété comme un début de variable, mais rien n'y fait.

    Auriez-vous une solution à me proposer ?

    PS : dans le même script, juste avant, il y a la commande

    sed "s/:00|/|/g" monfich > monfich1


    qui fonctionne parfaitement



    EDIT : Résolu il y avait un caractère spécial windows à la c..... en fin de ligne ...

    du coup la commande

    sed "s/||.$/|/" monfich1 > monfich2


    fonctionne très bien.

  2. #2
    Membre habitué
    Inscrit en
    Avril 2008
    Messages
    13
    Détails du profil
    Informations forums :
    Inscription : Avril 2008
    Messages : 13
    Par défaut
    Bonjour prentyss,

    Le sed 's/|$//' fonctionne parfaitement pour retirer le dernier caractere (|) des lignes.
    Pourrais tu nous donner un exemple ...

    Merci

+ Répondre à la discussion
Cette discussion est résolue.

Discussions similaires

  1. [shell unix] Commande sed
    Par Michel38 dans le forum Shell et commandes POSIX
    Réponses: 3
    Dernier message: 31/08/2011, 15h15
  2. probleme avec du shell et la commande sed
    Par cobra85 dans le forum Shell et commandes GNU
    Réponses: 3
    Dernier message: 10/04/2009, 16h31
  3. c shell + commande sed
    Par gaucher dans le forum Linux
    Réponses: 3
    Dernier message: 15/11/2007, 12h42
  4. c shell + commande sed
    Par gaucher dans le forum Shell et commandes GNU
    Réponses: 10
    Dernier message: 14/11/2007, 13h19
  5. La commande sed ne prend pas ma variable du shell
    Par Michaël dans le forum Shell et commandes GNU
    Réponses: 3
    Dernier message: 03/10/2006, 19h11

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