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 :

Copier les résultats d'un find dans des variables


Sujet :

Shell et commandes GNU

Vue hybride

Message précédent Message précédent   Message suivant Message suivant
  1. #1
    Membre confirmé
    Profil pro
    Inscrit en
    Décembre 2007
    Messages
    84
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Décembre 2007
    Messages : 84
    Par défaut Copier les résultats d'un find dans des variables
    Bonjour,

    Comme le sujet le dit, je souhaiterais récupérer les différents paths que me renvoie ma commande find. Je pensais a faire une boucle qui lirait le résultat n de ma requete mais étant vraiment débutant dans ce langage j'avoue que je planche un peu...

    Awk me permettrait il de faire cela si je le combine a mon find ?

    Merci pour vos réponses

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

    Informations forums :
    Inscription : Février 2008
    Messages : 7 662
    Par défaut
    Bonjour,

    find a une option -printf, qui doit te permettre d'avancer
    ...
    ?

    montre ce que tu fais, ce que tu obtiens, et le résultat souhaité.
    N'oubliez pas de consulter les cours shell, la FAQ, et les pages man.

  3. #3
    Membre éprouvé Avatar de Levi59
    Homme Profil pro
    Étudiant
    Inscrit en
    Août 2011
    Messages
    58
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France

    Informations professionnelles :
    Activité : Étudiant

    Informations forums :
    Inscription : Août 2011
    Messages : 58
    Par défaut
    Find te donne en général un résultat sous la forme :
    premier résultat
    second résultat
    troisieme résultat
    ...
    Donc en théorie tu auras un traitement du style :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    while read
    do
        echo $REPLY
    done < <(LaCommandeFind)
    les lignes de résultat seront lus une à une à chaque boucle. Maintenant comme N_BaH l'a dit précédemment, ils nous faut en savoir plus pour t'aider...

  4. #4
    Expert confirmé Avatar de frp31
    Homme Profil pro
    Ingénieur systèmes et réseaux
    Inscrit en
    Juillet 2006
    Messages
    5 196
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 48
    Localisation : France, Haute Garonne (Midi Pyrénées)

    Informations professionnelles :
    Activité : Ingénieur systèmes et réseaux
    Secteur : Aéronautique - Marine - Espace - Armement

    Informations forums :
    Inscription : Juillet 2006
    Messages : 5 196
    Par défaut
    suffit de charger dans la boucle une variable resultat de forme TABLEAU et ainsi chaque ligne est une occurrence du tableau et tu peux ainsi traiter comme tu veux et dans l'ordre que tu veux ....

    si tu veux un traitement identique pour tout, mieux vaut faire le traitement directement à chaque itération dans la boucle comme proposé par levi59


    si tu veux juste agir sur les fichiers trouvés, alors il vaut mieux utiliser l'option exec de find

  5. #5
    Membre confirmé
    Profil pro
    Inscrit en
    Décembre 2007
    Messages
    84
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Décembre 2007
    Messages : 84
    Par défaut
    Merci pour vos réactions !

    J'aurais besoin de transformer les fichiers recherchés (.grd) en .tiff. Voila pourquoi il faut que je récupere séparement ces résultats

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    export LD_LIBRARY_PATH=/usr/sfw/lib:~/jmap/bin
    export GDAL_DATA=~/geodata/gdal
     
    while read
    do
        echo gdal_translate -ot Byte -b 1 -b 2 -b 3 $REPLY /export/home/gis/geodata/gdal/
    done find . -name GSM*grd

  6. #6
    Membre éprouvé Avatar de Levi59
    Homme Profil pro
    Étudiant
    Inscrit en
    Août 2011
    Messages
    58
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France

    Informations professionnelles :
    Activité : Étudiant

    Informations forums :
    Inscription : Août 2011
    Messages : 58
    Par défaut
    Quels sont tes critères pour déplacer les fichiers?
    Tu souhaites déplacer tous les fichiers vers un dossier précis fixé dans le script ou bien choisir manuellement un fichier et ensuite un dossier de destination?

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

Discussions similaires

  1. [Toutes versions] Copier les résultats d'une recherche dans un autre classeur 2
    Par sossso112333 dans le forum Macros et VBA Excel
    Réponses: 12
    Dernier message: 16/05/2015, 20h52
  2. Récupérer les résultats d'une requête dans des variables
    Par christophebolmontcha dans le forum PHP & Base de données
    Réponses: 8
    Dernier message: 23/05/2014, 10h14
  3. Réponses: 2
    Dernier message: 12/08/2012, 18h43
  4. [MySQL] Comment stocker les résultats d'un enregistrement dans des variables?
    Par Alexandrebox dans le forum PHP & Base de données
    Réponses: 26
    Dernier message: 30/07/2010, 21h23
  5. [ODBC] enregistrement des résultat d'une requete dans des variables
    Par maraly dans le forum PHP & Base de données
    Réponses: 10
    Dernier message: 01/02/2007, 14h24

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