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 :

Bash : ordre de parcours des fichiers par un for


Sujet :

Linux

  1. #1
    Membre du Club Avatar de Devether
    Homme Profil pro
    Développeur informatique
    Inscrit en
    Mars 2004
    Messages
    66
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 42
    Localisation : France, Maine et Loire (Pays de la Loire)

    Informations professionnelles :
    Activité : Développeur informatique

    Informations forums :
    Inscription : Mars 2004
    Messages : 66
    Points : 54
    Points
    54
    Par défaut Bash : ordre de parcours des fichiers par un for
    Bonjour,

    Voici un script qui n'a pas été fait par moi-même mais que j'aimerais modifier ou tout au moins savoir comment il effectue son traitement.

    Je ne connais pas grand chose en bash et j'aimerais votre aide.
    Bon, ceci-dit je comprends à peu près ce qu'il est sensé faire...

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
     
    d=`ls /home/myrep` 
    sleep 5 
    for i in $d
    do
    echo "$i";echo -n 
    if [ -f /home/myrep/$i ]
    then
    java monScriptJava /home/myrep/$i
    fi
    done
    Ce que je ne comprend pas tout à fait c'est cette ligne : if [ -f /home/myrep/$i ]

    Et ce qui m'intéresse surtout c'est de savoir dans quel ordre la commande "for i in $d" va-t-elle parcourir les fichiers du répertoire et s'il est possible de modifier ce critère pour, par exemple, avoir un parcours par date de création.

    Si ce n'est pas possible comment pourrais-je modifier mon script pour pouvoir traiter les fichiers par date de création ?

    Merci d'avance,
    Devether

  2. #2
    Expert éminent sénior
    Avatar de Sve@r
    Homme Profil pro
    Ingénieur développement logiciels
    Inscrit en
    Février 2006
    Messages
    12 689
    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 689
    Points : 30 983
    Points
    30 983
    Billets dans le blog
    1
    Par défaut
    Citation Envoyé par Devether Voir le message
    Je ne connais pas grand chose en bash et j'aimerais votre aide.
    Pas de pb. Commence par télécharger un tuto bash à partir des cours Linux : http://linux.developpez.com/cours/

    Citation Envoyé par Devether Voir le message
    Ce que je ne comprend pas tout à fait c'est cette ligne : if [ -f /home/myrep/$i ]
    si le fichier "/home/myrep/$i" (i étant une variable contenant un nom de fichier) est de type "fichier régulier" (man test)

    Citation Envoyé par Devether Voir le message
    Et ce qui m'intéresse surtout c'est de savoir dans quel ordre la commande "for i in $d" va-t-elle parcourir les fichiers du répertoire
    L'instruction "for var in elem1 elem2 elem3 elem4" va initialiser une boucle où "var" prendra successivement les valeurs "elem1", "elem2", "elem3", "elem4" dans cet ordre. Donc ici tout dépend du contenu de la variable "$d"...

    Citation Envoyé par Devether Voir le message
    et s'il est possible de modifier ce critère pour, par exemple, avoir un parcours par date de création.
    Pas de problème. Arrange-toi pour que la variable "d" contienne les fichiers dans cet ordre. Avec un "ls -t" par exemple...
    Mon Tutoriel sur la programmation «Python»
    Mon Tutoriel sur la programmation «Shell»
    Sinon il y en a pleins d'autres. N'oubliez pas non plus les différentes faq disponibles sur ce site
    Et on poste ses codes entre balises [code] et [/code]

  3. #3
    Membre du Club Avatar de Devether
    Homme Profil pro
    Développeur informatique
    Inscrit en
    Mars 2004
    Messages
    66
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 42
    Localisation : France, Maine et Loire (Pays de la Loire)

    Informations professionnelles :
    Activité : Développeur informatique

    Informations forums :
    Inscription : Mars 2004
    Messages : 66
    Points : 54
    Points
    54
    Par défaut
    La doc bash me sera bien utile.
    Merci bien pour ces précisions j'ai pu résoudre mon problème

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

Discussions similaires

  1. Mettre dans l'ordre des fichiers par date de modification
    Par ftrap dans le forum Macros et VBA Excel
    Réponses: 2
    Dernier message: 21/07/2012, 00h15
  2. traiter des fichiers par ordre de date
    Par Jean.Cri1 dans le forum Shell et commandes POSIX
    Réponses: 4
    Dernier message: 20/12/2011, 11h19
  3. [AC-2007] ordre de parcours des champs par tabulation
    Par stagiaire88 dans le forum IHM
    Réponses: 3
    Dernier message: 22/06/2011, 12h10
  4. Fusionner des fichiers par ordre de date décroissant
    Par rvaysse dans le forum Windows
    Réponses: 4
    Dernier message: 29/12/2010, 16h20
  5. Ouvrir des fichiers par ordre alphabétique
    Par gegadin dans le forum Général VBA
    Réponses: 2
    Dernier message: 17/09/2008, 17h25

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