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 :

Lecture fichier ligne par ligne


Sujet :

Shell et commandes GNU

Vue hybride

Message précédent Message précédent   Message suivant Message suivant
  1. #1
    Membre éprouvé
    Profil pro
    Inscrit en
    Novembre 2004
    Messages
    1 083
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Novembre 2004
    Messages : 1 083
    Par défaut Lecture fichier ligne par ligne
    Bonjour,

    voici le code:
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
     
    while IFS= read -r line
             do
                command $line
             done <myfile
    Dans mon fichier il y a des lignes vides.
    Comment peut on éviter les lignes vides et passer aux suivantes?

    D'avance merci.

  2. #2
    Membre éprouvé
    Profil pro
    Inscrit en
    Juin 2010
    Messages
    73
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Juin 2010
    Messages : 73
    Par défaut
    Bonjour.

    Il y a plusieurs possibilités, comme souvent en shell...
    Par exemple :

    1. Supprimer les lignes vides du fichier (éventuellement en créant un nouveau fichier), puis traiter le fichier sans lignes vides.
    => utilisation de sed et d'une RegEx

    2. A chaque ligne, tester si elle est vide.
    Avec test il y a un paramètre pour tester si la longueur de la chaîne est nulle...

  3. #3
    Membre éprouvé
    Profil pro
    Inscrit en
    Novembre 2004
    Messages
    1 083
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Novembre 2004
    Messages : 1 083
    Par défaut
    Merci, le test :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
     
    if [ -n "$line" ]; then
    a bien fonctionné.

    Cordialement.

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

    Informations forums :
    Inscription : Février 2008
    Messages : 7 658
    Par défaut avec xargs
    Bonjour,

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    xargs -I{} -a "$fichier" commande {}
    N'oubliez pas de consulter les cours shell, la FAQ, et les pages man.

  5. #5
    Expert confirmé Avatar de Flodelarab
    Homme Profil pro
    Inscrit en
    Septembre 2005
    Messages
    5 288
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Charente (Poitou Charente)

    Informations forums :
    Inscription : Septembre 2005
    Messages : 5 288
    Par défaut
    Bonjour

    En bash, substitution de processus:

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    while IFS= read -r line
             do
                command $line
             done < <(sed '/^$/d' myfile)

  6. #6
    Membre chevronné
    Profil pro
    Inscrit en
    Août 2010
    Messages
    345
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Août 2010
    Messages : 345
    Par défaut
    Bonjour,
    sed lit le fichier ligne par ligne donc :
    ceci devrait suffire .. (enfin , ça dépend de command)
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    sed '/..*/!d;s//command & /e'
    C'est pareil avec xargs ...
    Cordialement.

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

Discussions similaires

  1. Lecture fichier ligne par ligne
    Par Guillaume1701 dans le forum Langage
    Réponses: 1
    Dernier message: 28/09/2018, 10h34
  2. lecture fichier ligne a ligne
    Par svagrim dans le forum C++
    Réponses: 8
    Dernier message: 07/01/2013, 19h57
  3. lecture fichier ligne par ligne
    Par eldorado dans le forum Débuter
    Réponses: 2
    Dernier message: 28/02/2008, 12h47
  4. lecture fichier : ligne formatée
    Par [Hugo] dans le forum C++
    Réponses: 2
    Dernier message: 18/07/2007, 19h55
  5. [debutant]lecture fichier ligne par ligne
    Par Battosaiii dans le forum C
    Réponses: 2
    Dernier message: 13/11/2005, 19h02

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