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 :

problème avec la commande CAT


Sujet :

Shell et commandes GNU

  1. #1
    Membre actif
    Homme Profil pro
    Ingénieur systèmes et réseaux
    Inscrit en
    Décembre 2006
    Messages
    1 080
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 39
    Localisation : France, Seine Maritime (Haute Normandie)

    Informations professionnelles :
    Activité : Ingénieur systèmes et réseaux

    Informations forums :
    Inscription : Décembre 2006
    Messages : 1 080
    Points : 287
    Points
    287
    Par défaut problème avec la commande CAT
    Bonjour,

    J'ai un petit soucie avec la commande CAT.

    J'ai un fichier de ce type (CSV) :

    michel;dubois;Dfed45Dc
    audrey;leroux;fg45DFDE
    jean;le conte;Fde45SDc
    melanie;font;fdE45S1C

    Je sais un cat de ce fichier :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    FILE=/home/file.csv
    CONTENU=$(cat $FILE)
    echo $CONTENU
    Résultat :

    michel;dubois;Dfed45Dc
    audrey;leroux;fg45DFDE
    jean;le
    conte;Fde45SDc
    melanie;font;fdE45S1C

    alors que je voudrai avoir :

    michel;dubois;Dfed45Dc
    audrey;leroux;fg45DFDE
    jean;le conte;Fde45SDc
    melanie;font;fdE45S1C

    les espaces entre les mots font un retour chariot...

    Comment je pourais faire pour éviter ce problème ?

  2. #2
    Membre actif
    Homme Profil pro
    Ingénieur systèmes et réseaux
    Inscrit en
    Décembre 2006
    Messages
    1 080
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 39
    Localisation : France, Seine Maritime (Haute Normandie)

    Informations professionnelles :
    Activité : Ingénieur systèmes et réseaux

    Informations forums :
    Inscription : Décembre 2006
    Messages : 1 080
    Points : 287
    Points
    287
    Par défaut
    j'ai trouvé la solution :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    ldIFS=$IFS     # sauvegarde du séparateur de champ
    IFS=$'\n'     # nouveau séparateur de champ, le caractère fin de ligne
    for ligne in $(cat fichier)
    do
       commande
    done
    IFS=$old_IFS     # rétablissement du séparateur de champ par défaut

  3. #3
    Membre éclairé Avatar de BlaireauOne
    Profil pro
    Inscrit en
    Mars 2007
    Messages
    492
    Détails du profil
    Informations personnelles :
    Localisation : France, Haute Garonne (Midi Pyrénées)

    Informations forums :
    Inscription : Mars 2007
    Messages : 492
    Points : 652
    Points
    652
    Par défaut
    Autre solution qui t'évite de tripatouiller la variable IFS

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
     
    while read ligne ; do
    	echo "* $ligne"
    done < fichier

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

Discussions similaires

  1. Problème avec la commande cat
    Par nmathon dans le forum Shell et commandes GNU
    Réponses: 3
    Dernier message: 28/05/2009, 15h14
  2. Problème avec la commande sed
    Par JUSTIN Loïc dans le forum Linux
    Réponses: 2
    Dernier message: 05/09/2006, 10h17
  3. Problème avec la commande nice
    Par ShadoX dans le forum Administration système
    Réponses: 2
    Dernier message: 08/08/2006, 18h59
  4. Problème avec la commande revoke sous oracle
    Par merlubreizh dans le forum Oracle
    Réponses: 19
    Dernier message: 28/04/2006, 15h02
  5. [C++] Problème avec la commande "make"
    Par quantik-revolution dans le forum Systèmes de compilation
    Réponses: 6
    Dernier message: 02/04/2006, 18h17

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