Debian-facile

Bienvenue sur Debian-Facile, site d'aide pour les nouveaux utilisateurs de Debian.

Vous n'êtes pas identifié(e).

#26 12-06-2015 20:51:00

vv222
Membre
Lieu : Bretagne
Distrib. : GNU/Linux Debian « Sid »
Noyau : >= Linux 4.5.0 (amd64)
(G)UI : Openbox + ROX
Inscription : 18-11-2013
Site Web

Re : Multiplier une seule image par temps de fois

captnfab a écrit :

@vv222: tu es sûr que ${images##*.} est POSIX ? Si c'est bash-specific, alors il faut changer le #!


Je crois bien que c’est POSIX, je suis sûr en tous cas que ça fonctionne avec dash.
Il faudrait que je vérifie en passant une option du type "--posix' à dash s’il en propose une.

cf. "Parameter Expansion" dans le man de dash

Dernière modification par vv222 (12-06-2015 20:59:56)


Jouer sous Debian ? Facile !

Hors ligne

#27 13-06-2015 07:35:17

golgot200
Membre
Lieu : AIN
Distrib. : Debian Jessie
Noyau : Linux debian 3.16.0-4-amd64
(G)UI : MATE
Inscription : 05-08-2007

Re : Multiplier une seule image par temps de fois

Bonjour,

Ne pas tenir compte de mon post 25. En voyant  image=$1 dans le script, j'ai cru que la photo devait obligatoirement s'appeler image et que si je cliquais sur une nommée image2 ça ne marcherait pas à cause de son nom smile

Par contre, si j'en sélectionne plusieurs, ça ne marche pas. Seule la première sera multipliée. Y'a moyen ? smile

Donc j'utilise celui-ci :


#!/bin/sh
## Pour Blender

image=$1
nbcopies=24
extension=".${image##*.}"
base=$(basename "$image" $extension)
liste_copies=""
for i in $(seq $nbcopies)
do
  image_copie="$base-$(printf "%04d" "$i")$extension"
  liste_copies="$liste_copies $image_copie"
  cp "$image" "$image_copie"
done
 

Dernière modification par golgot200 (13-06-2015 07:38:31)


L'ultime question ... l'intelligence a besoin de la bêtise pour s'affirmer, la beauté a besoin de la laideur pour resplendir, le courage nait dans la peur, les forts impressionnent au millieu des faibles, mais au final,... qui a donc besoin d'autant de connards ?

Hors ligne

#28 13-06-2015 15:40:47

vv222
Membre
Lieu : Bretagne
Distrib. : GNU/Linux Debian « Sid »
Noyau : >= Linux 4.5.0 (amd64)
(G)UI : Openbox + ROX
Inscription : 18-11-2013
Site Web

Re : Multiplier une seule image par temps de fois

golgot200 a écrit :

Par contre, si j'en sélectionne plusieurs, ça ne marche pas. Seule la première sera multipliée. Y'a moyen ? smile


Une suggestion qui ne fonctionnera probablement que si aucune des images sélectionnées ne comprend d’espace dans son nom :


#!/bin/sh
## Pour Blender

liste_images="$@"
nbcopies=24
for image in $liste_images
do
  extension=".${image##*.}"
  base=$(basename "$image" $extension)
  liste_copies=""
  for i in $(seq $nbcopies)
  do
    image_copie="$base-$(printf "%04d" "$i")$extension"
    liste_copies="$liste_copies $image_copie"
    cp "$image" "$image_copie"
  done
done
 

Dernière modification par vv222 (13-06-2015 15:41:31)


Jouer sous Debian ? Facile !

Hors ligne

#29 13-06-2015 21:49:26

golgot200
Membre
Lieu : AIN
Distrib. : Debian Jessie
Noyau : Linux debian 3.16.0-4-amd64
(G)UI : MATE
Inscription : 05-08-2007

Re : Multiplier une seule image par temps de fois

Oui effectivement, ça bloque où il y a des espaces. Il faudrait avant de lancer la copie faire un truc du genre : où il y a des espaces remplacer par des underscores smile

L'ultime question ... l'intelligence a besoin de la bêtise pour s'affirmer, la beauté a besoin de la laideur pour resplendir, le courage nait dans la peur, les forts impressionnent au millieu des faibles, mais au final,... qui a donc besoin d'autant de connards ?

Hors ligne

#30 13-06-2015 22:02:59

vv222
Membre
Lieu : Bretagne
Distrib. : GNU/Linux Debian « Sid »
Noyau : >= Linux 4.5.0 (amd64)
(G)UI : Openbox + ROX
Inscription : 18-11-2013
Site Web

Re : Multiplier une seule image par temps de fois

La commande 'detox' (paquet du même nom) permet d’automatiser ce genre de remplacement de caractères.

Jouer sous Debian ? Facile !

Hors ligne

Pied de page des forums