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 :

lister pour passer en parametre


Sujet :

Shell et commandes GNU

Vue hybride

Message précédent Message précédent   Message suivant Message suivant
  1. #1
    Membre émérite
    Avatar de SnakemaN
    Profil pro
    Bidouille-tout Android
    Inscrit en
    Juillet 2006
    Messages
    871
    Détails du profil
    Informations personnelles :
    Âge : 40
    Localisation : France, Haute Garonne (Midi Pyrénées)

    Informations professionnelles :
    Activité : Bidouille-tout Android

    Informations forums :
    Inscription : Juillet 2006
    Messages : 871
    Par défaut lister pour passer en parametre
    Bonjour à tous

    Voila j'ai un petit script à faire qui m'aiderai grandement en fait, je voudrais lister le contenu d'un répertoire mais pour passer tout ce qui est listé en paramètre d'un fonction et rajouter un dernier paramètre

    en gros faire :
    fonction premier_paramètre [contenu du dossier séparé par espace] dernier_paramètre

    En fait c'est pour coller toute les images d'un dossier grace à la fonction issue de imageMagick "montage"

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    $ montage -geometry +3+3 [mes images du dossier] image_de_sortie
    J'ai déjà tenté de faire :
    - On colle la première image a la seconde
    {
    On colle la troisième au résultat précédent
    On colle la quatrième au résultat précédent
    etc....
    }

    mais le problème viendra de l'espacement, en effet il sera proportionnel or je voudrais un espacement identique entre les images

    j'ai testé un truc du genre :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    15
    #!/bin/bash
    #
    # Colleur d'image a la suite
    #USAGE : ./h_resizer.sh <dossier>
    #montage -geometry +2+1 alpha_0.pgm alpha_1.pgm  alpha_2.pgm outa.pgm
    PATH_DIR=$1
     
    cd $PATH_DIR
    montage -geometry +4+4 {
    for image_pgm in `ls $PATH_DIR*.pgm`
    do
    echo $image_pgm" "
    done
    } 
    echo out.pgm
    mais pas du tout convainquant
    Merci d'avance pour vos idées

  2. #2
    Membre émérite
    Avatar de SnakemaN
    Profil pro
    Bidouille-tout Android
    Inscrit en
    Juillet 2006
    Messages
    871
    Détails du profil
    Informations personnelles :
    Âge : 40
    Localisation : France, Haute Garonne (Midi Pyrénées)

    Informations professionnelles :
    Activité : Bidouille-tout Android

    Informations forums :
    Inscription : Juillet 2006
    Messages : 871
    Par défaut
    Bon j'ai trouvé ça :

    La substitution de commande

    La substitution de commande permet de remplacer la commande elle-même par son résultat. La substitution de commande survient quand une commande est enchâssée ainsi:

    $(commande)

    ou ainsi avec les apostrophes inversées:

    `commande`

    Bash effectue l'expansion en exécutant COMMANDE et en la remplaçant par son résultat, avec tous les sauts de lignes éliminés. Les sauts de ligne incorporés(NdT: au résultat de la commande) ne sont pas éliminés, mais ils peuvent l'avoir été pendant le découpage en mot.

    franky ~> echo `date`
    Thu Feb 6 10:06:20 CET 2003

    mais le problème est que je ne peut pas rajouter un dernier parametre apres genre

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    $ fonction param-1 `ls dossier` param-2
    ne fonctionne pas

  3. #3
    Membre émérite
    Avatar de SnakemaN
    Profil pro
    Bidouille-tout Android
    Inscrit en
    Juillet 2006
    Messages
    871
    Détails du profil
    Informations personnelles :
    Âge : 40
    Localisation : France, Haute Garonne (Midi Pyrénées)

    Informations professionnelles :
    Activité : Bidouille-tout Android

    Informations forums :
    Inscription : Juillet 2006
    Messages : 871
    Par défaut
    le superbe topic-ou-je-me-repond-tout-seul-et-je-trouve-la-solution

    Bah voila, je me cassais le c*ù$ a faire le ls du répertoire passé en paramètre mais $( ) ne marche que sur des fonctions qui ne requiert pas de paramètres donc voila la soluce faire un cd

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    #!/bin/bash
    #
    # Colleur d'image a la suite
    #USAGE : ./appender.sh <dossier>
    # utilise la fonction montage de imagemagik
    #montage -geometry +2+1 alpha_0.pgm alpha_1.pgm  alpha_2.pgm outa.pgm
    #
    PATH_DIR=$1
    CURRENT_PATH=$(pwd)
     
    cd $PATH_DIR
    montage -geometry +4+4 $(ls) $CURRENT_PATH/out.pgm
    et voila

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

Discussions similaires

  1. passer un parametre _get pour charger une nouvelle page
    Par samspitz dans le forum Général JavaScript
    Réponses: 12
    Dernier message: 04/12/2008, 11h53
  2. Réponses: 1
    Dernier message: 16/01/2008, 15h30
  3. Réponses: 7
    Dernier message: 06/12/2007, 13h51
  4. probleme pour passer un parametre entre 2 JSP
    Par le_style dans le forum Struts 1
    Réponses: 13
    Dernier message: 20/06/2007, 10h56
  5. Réponses: 2
    Dernier message: 04/10/2005, 20h54

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