(Courriels de diversion: <ecorcha@pliaient-approuvee.com> <avilirez@readmission-effrenes.com> <artisan@sidererez-hesitais.com> <trempez@sensibiliserions-informeraient.com> <enfoncent@ameutaient-epaissirait.com> <soulagement@determinations-entremises.com> <coulants@actualisent-furibonde.com> <estomperons@malmenaient-resumerons.com> <loueraient@egoutter-gammee.com> <piegeaient@horticulteur-meriterai.com> )


Le 20-12-2005, Jean-Marc Mongrelet <jm-mongrelet.nospam@ifrance.com> a écrit :> Bonsoir,
>
> Comment supprimer le ou les tildes "~" a la fin d'un ou des fichiers?
>
> Je ne trouve pas de commande adéquate!
>
> Et les fichiers ont des nom avec des espaces et toutes sortes de
> caractères.
>
> Je connais mv, et rename, mais ils ne me satisfont pas!
>
> mv fonctionne bien sur un fichier, mais pas sur un ensemble de
> fichiers...
> mv nom.mp3~ nom.mp3
> OK, et:
> mv nom.mp3* nom.mp3
> aussi ok!
>
> rename, fonctionne bien seulement sans les caractères générique:
> remame .mp3~ .mp3 *.mp3~
> OK, mais:
> remame .mp3* .mp3 *.mp3*
> pour gérer les cas .mp3~, .mp3~~, .mp3~~~... a la volé, ne
> fonctionnent pas!
>
> Une idée?

Rename est écrit en perl, et attend une regexp de substitution :
$ rename 's/mp3~*/mp3/' *.mp3~*

/mp3~*/ signifiant « vrai si la chaîne contient mp3 suivie de zero ou
plusieurs caractères "~" ».

En cas de doute, sur le fonctionnement de rename, un petit coup
d'éditeur sur l'exécutable, le code ne prend même pas 40 lignes.

-- 
 BuSab

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