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 find *[31]01*


Sujet :

Linux

  1. #1
    Membre à l'essai
    Inscrit en
    Février 2008
    Messages
    34
    Détails du profil
    Informations forums :
    Inscription : Février 2008
    Messages : 34
    Points : 19
    Points
    19
    Par défaut Bash find *[31]01*
    bonjour je veut faire une recherche en bash sur le 32 caractère contenant le numéro 01

    j'ai fait ceci find *[31]01*

    mais cela ne fonctionne pas correctement avez vous une idée ?

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

    Informations forums :
    Inscription : Février 2008
    Messages : 7 595
    Points : 19 480
    Points
    19 480
    Par défaut
    bonjour,

    Il faut que tu détaille un peu plus !

    find n'est pas une commande bash, c'est une commande qui sert à effectuer une recherche (de répertoires, de fichiers...) sur l'arborescence du système de fichiers.

  3. #3
    Membre à l'essai
    Inscrit en
    Février 2008
    Messages
    34
    Détails du profil
    Informations forums :
    Inscription : Février 2008
    Messages : 34
    Points : 19
    Points
    19
    Par défaut
    j'ai des fichier de ce type testimagelots12_msg02_20100105_0730_00015.png

    pour mettre des fonds avec une routine dans une batch qui dit que tous les fichiers avec 07 en position 31 compose les images

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    for fh07 in `find $destt$c01$o/*[31]07*`
    do
        composite -compose Over $H07 $fh07 $fh07
    done

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

    Informations forums :
    Inscription : Février 2008
    Messages : 7 595
    Points : 19 480
    Points
    19 480
    Par défaut
    on ne fait pas :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    for i in $(command); do...;done
    si command sort des lignes avec des espaces, la boucle for se répètera sur chacun des éléments qui constituent la ligne.

    si toutes tes images sont dans un seul répertoire:
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    for fh07 in *.png
    do if [ "${fh07:31:2}" = "07" ]
       then composite -compose Over "$H07" "$fh07" "$fh07"
       fi
    done
    mais je ne connais pas bien imageMagick, donc je ne sais pas si le résultat sera ce que tu attends.

  5. #5
    Membre à l'essai
    Inscrit en
    Février 2008
    Messages
    34
    Détails du profil
    Informations forums :
    Inscription : Février 2008
    Messages : 34
    Points : 19
    Points
    19
    Par défaut
    un grand merci j'essaye de suite

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

    Informations forums :
    Inscription : Février 2008
    Messages : 7 595
    Points : 19 480
    Points
    19 480
    Par défaut
    ou alors, quelquechose comme :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    find /path/rep -type f -regex "une_Regex_qui_trouve_07_à_31" -exec composite "$H07" {} {} \;
    ...
    ?

  7. #7
    Membre à l'essai
    Inscrit en
    Février 2008
    Messages
    34
    Détails du profil
    Informations forums :
    Inscription : Février 2008
    Messages : 34
    Points : 19
    Points
    19
    Par défaut
    cela ne fonctionne pas on dirait que ta commande intégre le chemins d'accés des répertoires
    et me donne pas la lettre correspondante (chiffre)

    je teste ta deuxième piste

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

    Informations forums :
    Inscription : Février 2008
    Messages : 7 595
    Points : 19 480
    Points
    19 480
    Par défaut
    ah! oui, un petit oubli, désolé :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    for fh07 in *.png
    do filename="${fh07##*/}"
       if [ "${filename:31:2}" = "07" ]
       then composite -compose Over "$H07" "$fh07" "$fh07"
       fi
    done

  9. #9
    Membre à l'essai
    Inscrit en
    Février 2008
    Messages
    34
    Détails du profil
    Informations forums :
    Inscription : Février 2008
    Messages : 34
    Points : 19
    Points
    19
    Par défaut
    un grand merci !!!

    peut tu m'indiquer un livre ou ditactitiel sur la manière de rédiger des scripts ?

    loue tu t'est service ? ou cours ?

  10. #10
    Rédacteur

    Avatar de ok.Idriss
    Homme Profil pro
    IS Consultant
    Inscrit en
    Février 2009
    Messages
    5 220
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 34
    Localisation : France, Paris (Île de France)

    Informations professionnelles :
    Activité : IS Consultant
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : Février 2009
    Messages : 5 220
    Points : 19 450
    Points
    19 450
    Par défaut
    Bonsoir.

    Citation Envoyé par cyberrage01 Voir le message
    peut tu m'indiquer un livre ou ditactitiel sur la manière de rédiger des scripts ?
    Tout d'abord : l'Advanced Bash-Scripting Guide, c'est le cours le plus complet que je connaisse sur Internet. Il est aussi traduit en Français.

    Sinon un cours de Korn Shell compatible avec Bash : http://marcg.developpez.com/ksh/

    Cordialement,
    Idriss

  11. #11
    Membre à l'essai
    Inscrit en
    Février 2008
    Messages
    34
    Détails du profil
    Informations forums :
    Inscription : Février 2008
    Messages : 34
    Points : 19
    Points
    19
    Par défaut
    merci à tous !!!

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

Discussions similaires

  1. [bash] getopt + commande find = KO
    Par malgashe120 dans le forum Shell et commandes GNU
    Réponses: 2
    Dernier message: 26/03/2014, 15h03
  2. [BASH] find -execdir et cat
    Par Bouteille dans le forum Linux
    Réponses: 8
    Dernier message: 17/02/2011, 13h15
  3. Scripts BASH & commande Find
    Par GoodWear dans le forum Administration système
    Réponses: 2
    Dernier message: 09/10/2009, 10h25
  4. fonction python similaire à find en bash
    Par deb75 dans le forum Général Python
    Réponses: 1
    Dernier message: 21/12/2005, 12h48
  5. module Find
    Par martijan dans le forum Modules
    Réponses: 8
    Dernier message: 09/07/2003, 12h07

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