[gull] Espaces dans les noms de fichiers

Félix Hauri felix at f-hauri.ch
Wed Jan 26 22:18:05 CET 2005


On Wed, Jan 26, 2005 at 02:19:26PM +0100, Marc SCHAEFER wrote:
> On Tue, Jan 25, 2005 at 06:49:17PM +0100, Philippe Strauss wrote:
> > J'avais une série de fichier .wav dont le e accent aigu était pas
> > bien interprété (on voyait un ? a la place).
> > Comment faire pour renommer tout d'un coup, genre:
> 
> On peut aussi utiliser le programme Perl rename -- livré avec perl-base
> avec la Debian sauf erreur
> 
>    touch 'ceci est un essai.wav'
>    rename 's/ /_/g' *.wav
Intéressant!
$ ls >félix
$ echo coucou >felix
$ rename 'tr/àâéèê/aaeee/' félix 
félix not renamed: felix already exists
$ # Bien! Manque peut-être un --interactif (-i ;)
$ rm felix
$ rename 'tr/àâéèê/aaeee/' félix 
$ ls f?lix
-rw-r--r--  1 felix felix 2362 2005-01-26 21:36 felix

Well!, bon 'faut connaitre les perl regexp ;-b

Mon alternative:
$ for file in *;do
    new="$(printf "%s" "$file" |
            recode -d -f lat1..flat)"
    [ "$file" == "$new" ] || \
            mv -i "$file" "$new"
    done

Pas très long mais efficace... Et pour les espaces:

$ echo "salut" >"Il est déjà tard..."
$ for file in *;do
    new="$(printf "%s" "$file" | \
        tr \  _  | \
        recode -d -f lat1..flat)"
    [ "$file" == "$new" ] || \
        mv -i "$file" "$new" 
    done
$ ls *tard.*
-rw-r--r--  1 felix felix         6 2005-01-26 22:09 Il_est_deja_tard...

Attention aux DEUX espace entre le ``\'' et le ``_'' de la 
commande tr!

Sur ce il commence À Être tard, je vous souhaite une bonne nuit.

-- 
 Félix Hauri  -  <felix at f-hauri.ch>  -  http://www.f-hauri.ch



More information about the gull mailing list