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 des nom fichiers et les mettre dans des variables


Sujet :

Linux

  1. #1
    Membre du Club
    Profil pro
    Inscrit en
    Novembre 2008
    Messages
    58
    Détails du profil
    Informations personnelles :
    Âge : 43
    Localisation : France

    Informations forums :
    Inscription : Novembre 2008
    Messages : 58
    Points : 49
    Points
    49
    Par défaut lire des nom fichiers et les mettre dans des variables
    Bonjour

    en bash
    pour mon interface utilisateur écrite en bash

    je souhaiterais lire mes fichiers et les mettre dans des variables
    pour les utilisé ensuite par exemple dans gnuplot

    par exemple

    dans mon script bash

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
     
    #!/bin/bash
     
    ls *.data
    #  probleme c'est que je ne connait pas le nombre de fichier data
    Donc quelle est la meilleur solution, pour pouvoir utilisé tout les fichier les noms de fichier

    Merci d'avance

  2. #2
    Membre éclairé
    Avatar de D[r]eadLock
    Profil pro
    Inscrit en
    Mai 2002
    Messages
    504
    Détails du profil
    Informations personnelles :
    Âge : 45
    Localisation : France

    Informations forums :
    Inscription : Mai 2002
    Messages : 504
    Points : 750
    Points
    750
    Par défaut
    C'est assez vague comme description.
    Tu peux faire par exemple:
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    for file in `ls *.data`; do echo "Fichier: $file"; done

  3. #3
    Membre du Club
    Profil pro
    Inscrit en
    Novembre 2008
    Messages
    58
    Détails du profil
    Informations personnelles :
    Âge : 43
    Localisation : France

    Informations forums :
    Inscription : Novembre 2008
    Messages : 58
    Points : 49
    Points
    49
    Par défaut
    Ok merci

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
     
    $> 
    for file in `ls *.data`; do echo "Fichier: $file"; done
    si en faisant
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
     
    $>ls *.data
    gen.data  resrect20.data
    la variable $file comprend quoi dans ce cas?

    comment réutisé cette chose la merci d'avance.

  4. #4
    Membre émérite
    Homme Profil pro
    Ingénieur développement logiciels
    Inscrit en
    Octobre 2008
    Messages
    1 515
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 46
    Localisation : France

    Informations professionnelles :
    Activité : Ingénieur développement logiciels

    Informations forums :
    Inscription : Octobre 2008
    Messages : 1 515
    Points : 2 505
    Points
    2 505
    Par défaut
    Le code que t'as donné D[r]eadLock est une boucle. La boucle est parcourue une fois par fichier. La première fois $file contient le nom du premier fichier, la deuxième fois $file contient le nom du deuxième fichier, etc.

    "Comment réutiliser cette chose" -> tu remplaces le echo "Fichier: $file" par le truc que tu veux faire avec ton fichier.

  5. #5
    Expert éminent sénior
    Avatar de Sve@r
    Homme Profil pro
    Ingénieur développement logiciels
    Inscrit en
    Février 2006
    Messages
    12 730
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Oise (Picardie)

    Informations professionnelles :
    Activité : Ingénieur développement logiciels
    Secteur : Aéronautique - Marine - Espace - Armement

    Informations forums :
    Inscription : Février 2006
    Messages : 12 730
    Points : 31 053
    Points
    31 053
    Billets dans le blog
    1
    Par défaut
    Citation Envoyé par D[r]eadLock Voir le message
    C'est assez vague comme description.
    Tu peux faire par exemple:
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    for file in `ls *.data`; do echo "Fichier: $file"; done
    Dangereux. Si jamais tu as un fichier dont le nom contient un espace, t'auras à cet endroit 2 itérations inutiles et le fichier ne sera pas traité.

    Moi je conseillerais plutôt ceci
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    ls *.data |while read file; do echo "Fichier: $file"; done
    Le read étant calé sur le <return>, plus de soucis concernant le nom et la façon dont le for le gère...

  6. #6
    Membre émérite
    Homme Profil pro
    Ingénieur développement logiciels
    Inscrit en
    Octobre 2008
    Messages
    1 515
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 46
    Localisation : France

    Informations professionnelles :
    Activité : Ingénieur développement logiciels

    Informations forums :
    Inscription : Octobre 2008
    Messages : 1 515
    Points : 2 505
    Points
    2 505
    Par défaut
    Ou bien simplement :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    for file in *.data; do echo "Fichier: $file"; done

  7. #7
    Membre éclairé
    Avatar de D[r]eadLock
    Profil pro
    Inscrit en
    Mai 2002
    Messages
    504
    Détails du profil
    Informations personnelles :
    Âge : 45
    Localisation : France

    Informations forums :
    Inscription : Mai 2002
    Messages : 504
    Points : 750
    Points
    750
    Par défaut
    Citation Envoyé par matafan Voir le message
    Ou bien simplement :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    for file in *.data; do echo "Fichier: $file"; done
    Mea culpa ! C'est plus beau et marche même avec les (vilains) fichiers avec espaces

    Quant à l'utilisation astroflo, tu peux essayer et voir que ça fait une boucle sur tes fichiers. Maintenant vu que je n'avais pas pigé ce que tu voulais faire (un exemple ou une description plus détaillée devrait aider) ...

Discussions similaires

  1. Réponses: 2
    Dernier message: 22/06/2008, 15h41
  2. relire des infoss dans un fichier et les classer dans des listes
    Par maxmarie dans le forum Windows Mobile
    Réponses: 1
    Dernier message: 16/11/2007, 15h20
  3. Réponses: 9
    Dernier message: 05/11/2007, 11h05
  4. Réponses: 3
    Dernier message: 09/09/2006, 13h24
  5. Réponses: 8
    Dernier message: 23/06/2006, 13h51

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