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 POSIX Discussion :

Supprimer les espaces compris entre deux points virgules dans un fichier csv


Sujet :

Shell et commandes POSIX

  1. #1
    Nouveau membre du Club
    Profil pro
    Inscrit en
    Avril 2011
    Messages
    48
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Avril 2011
    Messages : 48
    Points : 37
    Points
    37
    Par défaut Supprimer les espaces compris entre deux points virgules dans un fichier csv
    Bonjour,

    J'ai un fichier csv avec des champs séparés par des ;

    Lorsque je fais un sort sur ce fichier j'ai ce message d'erreur

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    sort: Warning: A newline character was added to the end of the input.
    A chaque fois qu'il rencontre un gros espace entre deux champs il crée une nouvelle ligne.

    Est t il une commande qui permet de supprimer l'espace compris entre deux points virgules, indépendamment de la taille de l'espace.

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    C'est à dire si j'ai ;             ; ou  ;                               ; je dois obtenir ;;
    Je suis sur du HP-UX

    Merci par avance de votre aide.

  2. #2
    Expert éminent

    Profil pro
    Inscrit en
    Janvier 2011
    Messages
    1 946
    Détails du profil
    Informations personnelles :
    Localisation : France, Haute Garonne (Midi Pyrénées)

    Informations forums :
    Inscription : Janvier 2011
    Messages : 1 946
    Points : 6 276
    Points
    6 276
    Par défaut
    Salut,

    Essaie ça :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    $ echo "${A}"
    C'est à dire si j'ai ;             ; ou  ;                               ; je dois obtenir ;;
     
    $ echo "${A}" | sed 's/;\s\+;/;;/g'
    C'est à dire si j'ai ;; ou  ;; je dois obtenir ;;
    Si ça ne marche pas essaie avec cette syntaxe (attention, il y a deux espaces avant l'astérisque) :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    $ echo "${A}" | sed 's/;  *;/;;/g'
    C'est à dire si j'ai ;; ou  ;; je dois obtenir ;;
    $ man woman
    Il n'y a pas de page de manuel pour woman.

  3. #3
    Nouveau membre du Club
    Profil pro
    Inscrit en
    Avril 2011
    Messages
    48
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Avril 2011
    Messages : 48
    Points : 37
    Points
    37
    Par défaut
    Citation Envoyé par zipe31 Voir le message
    Si ça ne marche pas essaie avec cette syntaxe (attention, il y a deux espaces avant l'astérisque) :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    $ echo "${A}" | sed 's/;  *;/;;/g'
    C'est à dire si j'ai ;; ou  ;; je dois obtenir ;;

    Cette solution marche bien. Merci beaucoup

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

Discussions similaires

  1. Réponses: 7
    Dernier message: 08/01/2013, 18h33
  2. Calculer de nombre de point virgules dans un fichier
    Par delilou dans le forum Développement de jobs
    Réponses: 1
    Dernier message: 28/03/2011, 17h53
  3. [XL-2007] Remplacer les retours chariot et retour à la ligne dans un fichier csv depuis Excel.
    Par Pierrea4564 dans le forum Macros et VBA Excel
    Réponses: 10
    Dernier message: 21/02/2011, 12h49
  4. point virgule dans export fichier texte
    Par Ludwik dans le forum VBA Access
    Réponses: 8
    Dernier message: 21/04/2009, 21h46
  5. lire le point-virgule dans un fichier .ini
    Par juflata dans le forum Langages de programmation
    Réponses: 3
    Dernier message: 05/07/2004, 12h46

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