moi je ferais via perl:

for i in *; do perl -e '$file = $ARGV[0]; $file =~ s/[\w-]/_/g; rename
($ARGV[0], $file);' $i; done


----- Original Message -----
From: "Pivert Dubuisson" <[EMAIL PROTECTED]>
To: <[EMAIL PROTECTED]>
Sent: Tuesday, October 08, 2002 4:35 PM
Subject: [Confirme] Regex : inverser la selection pour une substitution -
nettoyage nomde fichers.


Bonjour !!

Je suis depuis pr�s de 3 heures pour trouver un moyen d'inverser la
s�lection :



sed -e 's/\([a-z|A-Z|0-9|\ |\-|\.|\/]\)/_/g' list_bad_files >
list_good_files


La suite est facultative, je vous explique ici mon probl�me initial
ainsi que la m�thode de r�solution choisie:
======================================================================

J'ai un filesystem avec des fichiers avec des noms NON "standard". Et je
voudrais bien les renomer en rempla�ant tous les carract�res sp�ciaux
par des "_"

Voici mon plan pour r�soudre ce probl�me :
Primo, je cr�e la liste de tous fichiers avec find...
find ./ -name "*" > filelist.txt

Ensuite, je ne garde que les noms de fichiers qui ne comportent pas les
caract�res que j'autorise :

grep -v '^[a-z|A-Z|0-9|/|\ |_|\.|~|&|@|-]*$' filelist.txt >
list_bad_files

Ensuite le sed qui me pose encore probl�me car l� il fait exactement
l'inverse :

sed -e 's/\([a-z|A-Z|0-9|\ |\-|\.|\/]\)/_/g' list_bad_files >
list_good_files

Ensuite dans vi, pour le list_bad_files je replace les " par des _, je
met devant un mv " et derri�re un ".
Puis pour good files, je met juste entre "".
Puis paste list_bad_files liste_good_files > monSuperScipt.sh

Ps mon seul probl�me est pour le sed, mais si vous avez une solution
plus simple pour le process g�n�ral....

___________________________________________________________
Do You Yahoo!? -- Une adresse @yahoo.fr gratuite et en fran�ais !
Yahoo! Mail : http://fr.mail.yahoo.com




----------------------------------------------------------------------------
----


> Vous souhaitez acquerir votre Pack ou des Services MandrakeSoft?
> Rendez-vous sur "http://www.mandrakestore.com";
>


Vous souhaitez acquerir votre Pack ou des Services MandrakeSoft?
Rendez-vous sur "http://www.mandrakestore.com";

Répondre à