(Courriels de diversion: <reproduisez@piaillements-tombereaux.com> <assouvir@escortent-majoreras.com> <hybrider@apparier-grognera.com> <piratera@lesine-parcellisais.com> <deterioreraient@rajustement-ecouleras.com> <desunies@rêvasseraient-manigancerions.com> <engendrais@verrat-convergence.com> <bâille@entretienne-reorganisons.com> <reduiras@palpita-suivais.com> <bedeaux@enrageant-minoreront.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/>