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 les lignes d'un fichier avec csh


Sujet :

Linux

  1. #1
    Membre averti

    Profil pro
    Inscrit en
    Avril 2004
    Messages
    346
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Avril 2004
    Messages : 346
    Points : 439
    Points
    439
    Par défaut Lire les lignes d'un fichier avec csh
    Désolé mais je n'ai pas trouvé de réponse ailleurs.
    Comment lire chaque ligne d'un fichier et la mettre dans une variable. Désolé d'heurter les puristes mais un peu comme le readLine en Java ?

    Merci,

  2. #2
    Rédacteur
    Avatar de _Mac_
    Profil pro
    Inscrit en
    Août 2005
    Messages
    9 601
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Août 2005
    Messages : 9 601
    Points : 12 977
    Points
    12 977
    Par défaut
    En shell ? Il faut faire un truc du genre :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    while read LINE
    do
        # On affiche la ligne
        echo "$LINE"
    done < mon_fichier

    Du détail, du détail, du détail !!!
    Revenons à la source : lisons la documentation et les fichiers de trace, la réponse à notre problème s'y trouve sans doute

  3. #3
    Futur Membre du Club
    Profil pro
    Inscrit en
    Avril 2008
    Messages
    4
    Détails du profil
    Informations personnelles :
    Âge : 43
    Localisation : France, Bouches du Rhône (Provence Alpes Côte d'Azur)

    Informations forums :
    Inscription : Avril 2008
    Messages : 4
    Points : 5
    Points
    5
    Par défaut
    Salut,
    Sans trop se prendre la tête, pas très rapide

    #!/bin/csh

    #Initialisation
    # On recupere le nombre de ligne du fichier a lire
    set NumberLine=`cat ResultRLogArtist.txt | wc -l`
    # On initialise les variables
    set theIndice=1;
    set Pattern="Je Suis Un Element A Chercher Dans La Ligne";

    # Boucle sur test du fichier
    while ( $theIndice <= $NumberLine)
    # Selection de la ligne
    set theCurrentLine=`cat ResultRLogArtist.txt | head -n $theIndice | tail -n 1`0

    # Travail sur la ligne
    set theResult=`echo $theCurrentLine | grep Pattern`

    # On incremente la ligne suivante a tester
    set theIndice=`expr $theIndice + 1`
    end

  4. #4
    Futur Membre du Club
    Profil pro
    Inscrit en
    Avril 2008
    Messages
    4
    Détails du profil
    Informations personnelles :
    Âge : 43
    Localisation : France, Bouches du Rhône (Provence Alpes Côte d'Azur)

    Informations forums :
    Inscription : Avril 2008
    Messages : 4
    Points : 5
    Points
    5
    Par défaut
    En mode sans commentaire
    #!/bin/csh

    set theNumberLine=`cat ResultRLogArtist.txt | wc -l`
    set theIndice=1;

    while ( $theIndice <= $theNumberLine)
    set theCurrentLine=`cat ResultRLogArtist.txt | head -n $theIndice | tail -n 1`0
    echo $theCurrentLine
    set theIndice=`expr $theIndice + 1`
    end


    Éclectique Attitude

  5. #5
    Rédacteur
    Avatar de _Mac_
    Profil pro
    Inscrit en
    Août 2005
    Messages
    9 601
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Août 2005
    Messages : 9 601
    Points : 12 977
    Points
    12 977
    Par défaut
    Cette méthode a un très très gros défaut : le fichier va être parcouru autant de fois qu'il contient de lignes à cause de la séquence cat | head -n | tail -1 qui est méga lourde ! Sur les petits fichiers, ça ira mais sur les gros fichiers, ça va pédaler méchamment. A proscrire en ce qui me concerne.

    Du détail, du détail, du détail !!!
    Revenons à la source : lisons la documentation et les fichiers de trace, la réponse à notre problème s'y trouve sans doute

Discussions similaires

  1. Lire les lignes d'un fichier .txt en HTML
    Par Moustiik78 dans le forum Langage
    Réponses: 10
    Dernier message: 15/03/2014, 02h16
  2. lire seconde ligne d'un fichier avec fgets
    Par key94 dans le forum C
    Réponses: 6
    Dernier message: 29/12/2010, 18h43
  3. Lire et modifier les lignes d'un fichier texte
    Par GCAccess dans le forum Windows Forms
    Réponses: 8
    Dernier message: 01/12/2009, 14h28
  4. [JACOB] Lire les lignes d'un fichier Word
    Par djools45 dans le forum Documents
    Réponses: 2
    Dernier message: 25/05/2007, 15h34
  5. Réponses: 12
    Dernier message: 18/06/2006, 19h42

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