Précédent   Forum des professionnels en informatique > Systèmes > Linux > Applications > Shell
Shell Vos questions sur l'utilisation des commandes shell
Partagez cette discussion sur d'autres réseaux sociaux : Viadeo Twitter Google Facebook Digg Delicious MySpace Yahoo
Réponse Proposer ce sujet en actualité
 
Outils de la discussion
Publicité
'
Vieux 01/08/2007, 11h19   #1
Membre Expert
 
Avatar de SnakemaN
 
Bidouille-tout Android
Inscription : juillet 2006
Messages : 871
Détails du profil
Informations personnelles :
Âge : 27
Localisation : France, Haute Garonne (Midi Pyrénées)

Informations professionnelles :
Activité : Bidouille-tout Android

Informations forums :
Inscription : juillet 2006
Messages : 871
Points : 1 102
Points : 1 102
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 :
$ 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 :
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
__________________
C'est le signe d'un fou, qu'avoir honte d'apprendre
Ubuntu 10.04 Lucid Lynx @home
LE guide libre Linux & Ubuntu pour tous : Simple comme Ubuntu
SnakemaN est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 01/08/2007, 15h30   #2
Membre Expert
 
Avatar de SnakemaN
 
Bidouille-tout Android
Inscription : juillet 2006
Messages : 871
Détails du profil
Informations personnelles :
Âge : 27
Localisation : France, Haute Garonne (Midi Pyrénées)

Informations professionnelles :
Activité : Bidouille-tout Android

Informations forums :
Inscription : juillet 2006
Messages : 871
Points : 1 102
Points : 1 102
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 :
$ fonction param-1 `ls dossier` param-2
ne fonctionne pas
__________________
C'est le signe d'un fou, qu'avoir honte d'apprendre
Ubuntu 10.04 Lucid Lynx @home
LE guide libre Linux & Ubuntu pour tous : Simple comme Ubuntu
SnakemaN est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 01/08/2007, 17h23   #3
Membre Expert
 
Avatar de SnakemaN
 
Bidouille-tout Android
Inscription : juillet 2006
Messages : 871
Détails du profil
Informations personnelles :
Âge : 27
Localisation : France, Haute Garonne (Midi Pyrénées)

Informations professionnelles :
Activité : Bidouille-tout Android

Informations forums :
Inscription : juillet 2006
Messages : 871
Points : 1 102
Points : 1 102
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 :
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
__________________
C'est le signe d'un fou, qu'avoir honte d'apprendre
Ubuntu 10.04 Lucid Lynx @home
LE guide libre Linux & Ubuntu pour tous : Simple comme Ubuntu
SnakemaN est déconnecté   Envoyer un message privé Réponse avec citation 00
Réponse Proposer ce sujet en actualité Cette discussion est résolue.
Outils de la discussion



Fuseau horaire GMT +2. Il est actuellement 08h31.


 
 
 
 
Partenaires

Hébergement Web