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 :

Lire dans plusieurs fichiers texte selon le nom de fichier


Sujet :

Shell et commandes GNU

Vue hybride

Message précédent Message précédent   Message suivant Message suivant
  1. #1
    Membre très actif
    Profil pro
    Inscrit en
    Février 2011
    Messages
    176
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations professionnelles :
    Secteur : Industrie

    Informations forums :
    Inscription : Février 2011
    Messages : 176
    Par défaut Lire dans plusieurs fichiers texte selon le nom de fichier
    Bonjour,

    Suite à mon traitement de données je génère plusieurs fichiers à chaque fois , je veux lire ces fichiers selon leur noms,

    Chaque fichier aura comme nom pp$i$j.txt , pour chaque i ,on aura n fichier de j

    par exemple pour i =1 j'aurai :
    pp11.txt
    pp12.txt
    etc
    puis i=2
    pp21.txt .....
    utiliser une boucle for pour lire tous les fichiers texte, mais comment récupérer le nom de chaque fichier ?
    merci d'avance

  2. #2
    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
    Bonjour,

    comment récupérer le nom de chaque fichier ?
    le nom de chaque fichier est dans $fich...
    que veux-tu de plus ?
    N'oubliez pas de consulter les cours shell, la FAQ, et les pages man.

  3. #3
    Expert confirmé
    Homme Profil pro
    Développeur informatique en retraite
    Inscrit en
    Avril 2008
    Messages
    2 102
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Côtes d'Armor (Bretagne)

    Informations professionnelles :
    Activité : Développeur informatique en retraite

    Informations forums :
    Inscription : Avril 2008
    Messages : 2 102
    Par défaut
    Veux-tu récupérer les valeurs de i et j pour un nom de fichier donné (retourné dans la liste *.txt) ?

    Veux-tu faire une boucle pour toutes les valeurs de i, laquelle contiendra soit une boucle pour toutes les valeurs de j soit une boucle sur tous les fichiers correspondant au i donné ?

  4. #4
    Membre très actif
    Profil pro
    Inscrit en
    Février 2011
    Messages
    176
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations professionnelles :
    Secteur : Industrie

    Informations forums :
    Inscription : Février 2011
    Messages : 176
    Par défaut
    Bonjour,

    Veux-tu faire une boucle pour toutes les valeurs de i, laquelle contiendra soit une boucle pour toutes les valeurs de j soit une boucle sur tous les fichiers correspondant au i donné ?
    je veux récupérer les fichiers pour chaque i à part, donc je pense que l'idée est de faire une condition sur chaque nom du fichier tel que le 3 ème caractère sera le i donné ?

  5. #5
    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
    cela est-il accompli dans le script qui a généré les fichiers ? et donc la valeur maximale/finale de i est connue ? la valeur minimale/initale de i est-elle toujours la même (0, 1, autre) ?

    faut-il qu'on devine tout ? tu travailles sur un projet pour la NSA ?
    N'oubliez pas de consulter les cours shell, la FAQ, et les pages man.

  6. #6
    Membre très actif
    Profil pro
    Inscrit en
    Mai 2009
    Messages
    196
    Détails du profil
    Informations personnelles :
    Localisation : France, Paris (Île de France)

    Informations forums :
    Inscription : Mai 2009
    Messages : 196
    Par défaut
    i ... i ... i .... il faut arriver à comprendre ce que tu veux ... allez j'essaye :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
     
    i=3
    find . -name "*$i*" -print | while read fichier 
    do
        echo $fichier
    done
    i doit être inférieur à 10 ... bien entendu ...

  7. #7
    Membre Expert
    Avatar de Loceka
    Profil pro
    Inscrit en
    Mars 2004
    Messages
    2 276
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Mars 2004
    Messages : 2 276
    Par défaut
    Citation Envoyé par mvvvv Voir le message
    i doit être inférieur à 10 ... bien entendu ...
    +1
    Ton format de fichier est mal fichu :
    Mettons que i = 11 et j = 1. Le nom de fichier sera 'pp111.txt'.
    Maintenant, si i = 1 et j = 11, on aura 'pp111.txt'.

    Et ça marche aussi avec i = 12 ou j = 21-29, i = 13 ou j=31-39, ...

    Un conseil : ajoute un séparateur entre i et j.

  8. #8
    Membre très actif
    Profil pro
    Inscrit en
    Février 2011
    Messages
    176
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations professionnelles :
    Secteur : Industrie

    Informations forums :
    Inscription : Février 2011
    Messages : 176
    Par défaut
    salut,

    désolé si j'étais pas clair,

    bon , l'idée de mvvv m'aide , mais pas résolu mon problème

    si je veux filter dans mon traitement que sur les fichiers dont le nom comence par exemple par pp1 dans toute la liste de :
    pp12.txt , pp23.txt, pp35.txt , pp111.txt, pp16.txt .....

    Merci à tous

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

Discussions similaires

  1. Réponses: 6
    Dernier message: 07/06/2011, 11h00
  2. Réponses: 3
    Dernier message: 10/09/2009, 16h24
  3. Réponses: 3
    Dernier message: 19/06/2007, 14h07
  4. Nom de fichier texte
    Par diego63 dans le forum C++
    Réponses: 1
    Dernier message: 27/11/2006, 23h41
  5. Réponses: 6
    Dernier message: 02/06/2005, 12h44

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