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

Linux Discussion :

Lire un fichier en korn shell


Sujet :

Linux

  1. #1
    Membre actif Avatar de declencher
    Inscrit en
    Mai 2003
    Messages
    441
    Détails du profil
    Informations forums :
    Inscription : Mai 2003
    Messages : 441
    Points : 251
    Points
    251
    Par défaut Lire un fichier en korn shell
    Bonjour,

    J'ai un problème de newbie avec un petit shell en korn shell. Je lis en fichier avec une boucle classique, voici le code :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    while read LIGNE
    do
      echo "$LIGNE" >> $NOMFICHIER
    done < $FICIN
    L'objectif est de copier les lignes une à une dans un autre fichier. Le problème c'est que si je met des "espaces" à la fin d'une ligne du fichier en entrée, c'est espace sont supprimés à l'exécution et donc absent dans le fichier en sortie.

    Une idée ?

    Merci

  2. #2
    Membre du Club
    Inscrit en
    Février 2005
    Messages
    53
    Détails du profil
    Informations forums :
    Inscription : Février 2005
    Messages : 53
    Points : 64
    Points
    64
    Par défaut
    Salut,

    echo ne permet pas de recopier les espaces qui traine en fin de ligne. Si tu veux effectuer un traitement ligne par ligne, il faudra porbablement que tu te tournes vers des outils comme sed. Sinon, pourquoi copier ligne par ligne alors qu'il existe déjà cp pour copier un fichier en entier ?

  3. #3
    Membre actif Avatar de declencher
    Inscrit en
    Mai 2003
    Messages
    441
    Détails du profil
    Informations forums :
    Inscription : Mai 2003
    Messages : 441
    Points : 251
    Points
    251
    Par défaut
    Bonjour,

    Si si le echo permet bien l'écriture des espace de fin de ligne. C'est bien pour ça que je pense que le problème vient du read.

    Personne n'a d'iée la dessus ? C'est pourtant une problématique super courante et je suis étonné de ne rien trouver sur le sujet.

    Je ne peux pas utiliser le cp, je fais d'autres traitement sur les lignes avant de les écrires dans le fichier de sortie mais j'en suis revenu au cas le plus simple pour mettre en évidence la source de l'erreur.

    Merci à ceux qui auront une idée là dessus :o

  4. #4
    Membre actif Avatar de declencher
    Inscrit en
    Mai 2003
    Messages
    441
    Détails du profil
    Informations forums :
    Inscription : Mai 2003
    Messages : 441
    Points : 251
    Points
    251
    Par défaut
    Waou ! Je pensais que le problème était beaucoup plus simple mais vu le nombre de réponse ça n'a pas l'air d'être le cas :/

  5. #5
    Membre expérimenté
    Avatar de narmataru
    Profil pro
    Inscrit en
    Décembre 2002
    Messages
    1 548
    Détails du profil
    Informations personnelles :
    Âge : 44
    Localisation : France, Loire Atlantique (Pays de la Loire)

    Informations forums :
    Inscription : Décembre 2002
    Messages : 1 548
    Points : 1 680
    Points
    1 680
    Par défaut
    je crois que je l'ai
    C'est la variable IFS qui signifie (si je ne me tompe) 'Input Field Separator(s?)'
    pour plus d'info : man ksh

    Donc au début de ton script vide la variable IFS :

  6. #6
    Membre actif Avatar de declencher
    Inscrit en
    Mai 2003
    Messages
    441
    Détails du profil
    Informations forums :
    Inscription : Mai 2003
    Messages : 441
    Points : 251
    Points
    251
    Par défaut
    YES ! :o Trop fort merci, ça marche :o

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

Discussions similaires

  1. [SHELL] Lire un fichier au format UTF-16
    Par Cj_Dal dans le forum Shell et commandes GNU
    Réponses: 3
    Dernier message: 05/06/2013, 12h39
  2. [shell]Lire un fichier properties
    Par floctc dans le forum Linux
    Réponses: 6
    Dernier message: 23/01/2011, 11h45
  3. script shell : lire un fichier et donner pour traitement au script
    Par pc974 dans le forum Shell et commandes GNU
    Réponses: 1
    Dernier message: 14/05/2007, 14h38
  4. création script korn shell de recopie de fichiers
    Par jeje4 dans le forum Shell et commandes GNU
    Réponses: 3
    Dernier message: 29/03/2007, 07h38
  5. test extension d'un fichier en korn shell
    Par jeje4 dans le forum Shell et commandes GNU
    Réponses: 11
    Dernier message: 27/03/2007, 15h10

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