Re: bash - commande sur tous les fichiers d'un dossier

Pàgina inicial

Reply to this message
Autor: Jean-Noel Avila
Data:  
A: guilde
Assumpte: Re: bash - commande sur tous les fichiers d'un dossier
Riquer Vincent (#343341) a écrit :
> Julien Vivenot a écrit :
>
>>>Maintenant que j'ai sorti les images que je voulais d'une video, avec
>>> mon laps de temps entre chacune et tout et tout, je ne vois pas
>>>comment parcourir toutes les images d'un dossier pour les convertir
>>>en xpm :
>
>
> for est ton ami des qu'il s'agit de traitement en lot ;)
>
>
>>>je voudrais faire quelque chose du style : convert -resize 400x600
>>>00000001.jpg 00000001.xpm Comment fait on pour faire ceci ? (en
>>>gardant le meme nom comme fichier de sortie ?
>
>
> ça se fait en 3 lignes de bash :
>
> ------------------
> # for file in *.jpg ; do
> #     convert -resize 400x600 "$file" "${file%%.jpg}.xpm
> # done
> ------------------

>
> Suffisamment court pour que tu puisses le taper directemtn dans le
> terminal ;)
>
> pour plus d'info voir man bash chapitre EXPANSION et GRAMMAIRE DU SHELL
> du coté des commandes internes :
>
> for nom [ in mot ]  ; do liste ; done
>     La liste de mots à la suite de in est développée, créant une liste
> l'éléments.  La variable nom prend successivement la valeur de chacun
> des éléments, et liste est exécutée à chaque fois. Si in mot est omis,
> la commande for exécute  la  liste  une  fois pour  chacun  des
> paramètres  positionnels  ayant une valeur (voir le paragraphe
> PARAMÈTRES plus bas).  Le code de retour est celui de la dernière
> commande exécutée. Si le développement de ce qui suit in  est  une liste
>  vide,  aucune commande  n'est exécutée et 0 est renvoyé.

>
>
>        ${paramètre%mot}
>        ${paramètre%%mot}
>    est développé pour fournir un motif, comme dans l'expansion des noms
> de fichiers. Si le motif correspond à une portion  finale
> de  la  valeur  du paramètre, alors le développement prend la valeur du
> paramètre après suppression du plus petit motif commun
> (cas ``%''), ou du plus long motif (cas ``%%'').  Si le paramètre est  @
>  ou  *,  l'opération  de  suppression  de  motif  est
> appliquée  à  chaque paramètre positionnel successivement, et le
> développement donne la liste finale.  Si le paramètre est une
> variable tableau indexée par @ ou *, l'opération de suppression de motif
> est appliquée à chaque membre du tableau  successive-
> ment, et le développement donne la liste finale.

>
>
>>>Merci
>
>
> You're welcome


Cool ! Ca fait un process en moins ! Qui a dit que bash n'était pas
assez puissant ?

-- 
* Jean-Noel Avila                       Tel. : +33 (0)4 79 25 31 32
* ALEPH S.A.                            Fax  : +33 (0)4 79 25 24 27
* Savoie Technolac BP 264
* F-73375 Le Bourget du Lac