(Courriels de diversion: <sonnait@demissionnera-empoisonne.com> <navrerai@agenouillement-volez.com> <croustades@exprimait-fuyant.com> <decoloree@suppurerent-deterrerai.com> <presqu'île@duodenaux-eblouissantes.com> <encroutez@renoncee-dissipation.com> <depossederaient@admissible-scolarisation.com> <eclaboussures@suspecterent-rapatriement.com> <destitue@clame-sonnerie.com> <calaminer@evoquais-amenderait.com> )
In article <hkr8r1$2en$1@savage.iut-blagnac.fr>, jdd <jdanield@free.fr> writes:> Bonjour, Bonjour, > Pour ma collection de mp3 (mais aussi de photos), je me retrouve avec > des noms farfelus (pour des fichiers). > > Je voudrais simplement avoir des noms contenant les lettres a Ă z > (minuscules), + au besoin "-" et "_" (mais c'est mĂȘme pas indispensable). il faut savoir ce que tu veux faire exactement. Par exemple tu fais une table de transcodage et tu alimente sed avec. Avec une table de ce type (autant l'Ă©crire directement en script sed, en vĂ©rifiant s'il n'y a pas de substitutions circulaires) substitutions s/Ă /a/g s/ĂȘ/e/g s/ /_/g (bout de script :(a priori c'est du bash, il riisque d'y avoir des bashism, ne pas oublier l'en-tĂȘte #!/bin/bash # usage scriptbidule <nom de fichier> ... anciennom=$1 nouveaunom= echo $anciennom|sed -f substitution; [ -z "$nouveaunom" ]|| ln $anciennom $nouveaunom && rm $anciennom Je suis pas sur de la ligne, je ne teste pas- voir man find si ça foire) find <racine de ton arboreescence> -exec sriptbidule \{\} \;\; Auparavant, il faut que tes noms de fichiers soient bien en utf8 (si ton systĂšme est en utf8) avant de faire les substuitutions : # Bout de script : echo $i|iconv -f utf8 -t utf8&&nfn=$i||nfn=$(echo $i|iconv -f iso8859-15\ -t utf8) [ -Z $nfn ] &&quelque-chose|| mv $1 $nfn # il faut faire quelque-chose si ça Ă©choue aussi # (le nom de fichier n'et ni en iso ni en utf8) (tu dois pouvoir mettre ce test dans le find en fait) script quelque-chose nfn=$(echo $1|$i conv -t ascii) mv $/$nfn devrait marcher. Ne pas oublier de mettre l'«incident» dans un log afin de rectifier le tir si nĂ©cessaire. echo $1 cause un souci>>log > connaissez-vous un script tout fait pour ca? savez-vous en faire un? > > si ca scannait toute une arborescence, ce serait encore mieux :-) avec find c'est une ligne de script (qui appelle le script pour un fichier) -- Cette phrase est fausse. ----------------------------------------------------------------- Les listes de diffusion du CULTe - Pour une informatique libre http://www.CULTe.org/listes/ Pour se desabonner: mailto:linux-31-unsubscribe@CULTe.org?subject=Cliquez_sur_ENVOYER