(Courriels de diversion: <reouvrir@usuraires-mauvaises.com> <consulterai@polluerait-apaises.com> <postsynchronisees@premature-refuser.com> <interpellateurs@malmeniez-ridelle.com> <enregimenteras@remiseras-focalisant.com> <saute@recites-embroussailles.com> <jurons@avanciez-emparer.com> <datables@presupposeraient-frete.com> <metrique@affretons-rhesus.com> <torpillez@affuts-deplaisants.com> )


On Sun, 21 Dec 2003 18:57:32 +0100, splendid no wrote :

>> par exemple, j'ai une grande quantité de fichiers avec le nom 
>> 01-image-<date>.jpg et je voudrais supprimer "image" du nom de fichier 
>> pour simplifier le nom (pour tranfert sur cd, par exemple).

> Quelque chose comme ça :
> 
>   for ORIG in *.jpg; do DEST=`echo $ORIG | sed -e 's/-image-/-/'`; mv $ORIG $DEST; done
> 
> En sh bien sur...

ou, en ksh/bash

for _file in *.jpg
do
   echo "move $_file to ${_file%%-*}-${_file##*-}"   # cosmétique
   mv $_file ${_file%%-*}-${_file##*-}
done

° '%%<sep>*' (resp. '%<sep>*') supprime tout ce qui se trouve à
droite du premier (resp. dernier) séparateur trouvé

° '##<sep>*' (resp. '#*<sep>') supprime tout ce qui se trouve à gauche
du premier (resp. dernier) séparateur trouvééparateur trouvé

Remarque: ceci ne fonctionne que si la date ne contient pas le séparateur
'-'. Le wildcard peut être remplacé par d'autres expressions
régulières...

-- 
QuZqO @ madhouse

     question = ( to ) ? be : ! be ;
            W. Shakespeare


--------------------------------------------------------------------
Les listes de diffusion occultes: <URL:http://www.CULTe.org/listes/>