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 :

While supprime les espaces


Sujet :

Shell et commandes GNU

  1. #1
    Membre confirmé
    Profil pro
    Inscrit en
    Août 2009
    Messages
    80
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Août 2009
    Messages : 80
    Par défaut While supprime les espaces
    Bonjour,

    J'ai rencontré un souci avec la commande while. Celle-ci supprime les espaces existants entre les champs d'un enregistrement. Voici un exemple :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    cat fic_in | while read line
    do
    echo $line >> fic_out
    done
    Quand j'ai le fichier fic composé de trois champs et séparés par 10 espaces :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
     
    CHAMP1          CHAMP2          CHAMP3
    CHAMP1          CHAMP2          CHAMP3
    CHAMP1          CHAMP2          CHAMP3
    Dans le fichier résultat "fic_out", les champs de mes enregistrements sont séparés par un seul espace. Les 9 autres espaces sont supprimés:
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
     
    CHAMP1 CHAMP2 CHAMP3
    CHAMP1 CHAMP2 CHAMP3
    CHAMP1 CHAMP2 CHAMP3
    J'aimerais que mes 10 espaces soient maintenus dans le fichier de sortie.

    Merci pour votre aide.

  2. #2
    Membre confirmé
    Profil pro
    Inscrit en
    Août 2009
    Messages
    80
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Août 2009
    Messages : 80
    Par défaut Précision
    J'ai oublié de préciser que les enregistrements de mon fichier "fic_in" peuvent avoir un nombre variable de champs.

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
     
    CHAMP1          CHAMP2          CHAMP3..........CHAMP[n].....
    CHAMP1          CHAMP2          CHAMP3..........CHAMP[n].....
    L'exemple donné est tout simplement un aperçu.

  3. #3
    Modérateur
    Avatar de N_BaH
    Profil pro
    Inscrit en
    Février 2008
    Messages
    7 654
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Février 2008
    Messages : 7 654
    Par défaut
    Bonjour,

    - cat est inutile : while read line; do...; done < fichier
    - utilise des guillemets : echo "$line"...
    N'oubliez pas de consulter les cours shell, la FAQ, et les pages man.

  4. #4
    Membre confirmé
    Profil pro
    Inscrit en
    Août 2009
    Messages
    80
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Août 2009
    Messages : 80
    Par défaut
    Merci, ça marche effectivement.

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

Discussions similaires

  1. Réponses: 9
    Dernier message: 06/11/2007, 12h36
  2. Réponses: 9
    Dernier message: 27/10/2005, 13h20
  3. [DEBUTANT]Supprimer les espaces pour une requete
    Par tripper.dim dans le forum Oracle
    Réponses: 4
    Dernier message: 12/10/2005, 16h04
  4. Supprimer les espaces
    Par jmde dans le forum Access
    Réponses: 16
    Dernier message: 24/09/2005, 22h40
  5. Supprimer les espaces des noms de fichier
    Par Cathy dans le forum Linux
    Réponses: 20
    Dernier message: 04/08/2005, 17h13

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