rennommer des fichiers en masse

Le
Nicolas Roudninski
ozQjaBdkS2Hp5XXqe3fEuZ
Content-Type: text/plain; charset=utf-8; format=flowed; delsp=yes
Content-Transfer-Encoding: 8bit

Bonjour à tous,

J'ai un problème, sans doute de débutant, mais je n'arrive pas à m'en
sortir.

Mon problème :
J'ai une assez large collection de musique organisée en répertoires et
sous-répertoires du style "artiste/album/fichier_audio"
Cette collection est sur un serveur debian lenny et j'utilise
tincanjukebox (php, javascript) pour écouter mes morceaux préférés.
TinCanjoukebox n'aime pas deux choses : les espaces dans les noms de
répertoire et de fichier et les caractères accentués.

Je cherche donc un moyen de renommer en masse et récursivement tous les
répertoires et fichiers pour :
- remplacer les espaces par des _
- remplacer les caractères accentués par les mêmes caractères sans accent
(i-e é par e, É par E, etc.)
Je suis en utf-8

J'ai bien essayé "find /opt/audio/ -name "*" -exec rename 's/s+/_/g' {}
;" mais ça ne fonctionne pas.

Quelqu'un aurait-il une piste ?

Cordialement,

Nicolas Roudninski

--
Nicolas Roudninski
nicolas@tycho.fr

S'il vous plaît, évitez de m'envoyer des pièces jointes au format Word ou
PowerPoint.
Voir http://www.gnu.org/philosophy/no-word-attachments.fr.html
ozQjaBdkS2Hp5XXqe3fEuZ
Content-Type: multipart/related; boundary=-ozQjaBdkS2Hp5X1OHcsm0W

ozQjaBdkS2Hp5X1OHcsm0W
Content-Type: text/html; charset=utf-8
Content-ID: <op.1258913478596.21291d546d5d6ba5@192.168.1.10>
Content-Transfer-Encoding: Quoted-Printable

<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01//EN">
<HTML>
<HEAD></HEAD>
<BODY style="font-family:'Times New Roman'; font-size:16px"><DIV>Bonjo=
ur à tous,</DIV><DIV><BR></DIV><DIV>J'ai un problème, sans dou=
te de débutant, mais je n'arrive pas à m'en sortir.</DIV><DIV>=
<BR></DIV><DIV>Mon problème :</DIV><DIV>J'ai une assez large collec=
tion de musique organisée en répertoires et sous-répertoi=
res du style "artiste/album/fichier_audio"</DIV><DIV>Cette collection es=
t sur un serveur debian lenny et j'utilise tincanjukebox (php, javascrip=
t) pour écouter mes morceaux préférés.</DIV><DIV>Tin=
Canjoukebox n'aime pas deux choses : les espaces dans les noms de ré=
pertoire et de fichier et les caractères accentués.</DIV><DIV>=
<BR></DIV><DIV>Je cherche donc un moyen de renommer en masse et réc=
ursivement tous les répertoires et fichiers pour :</DIV><DIV>- remp=
lacer les espaces par des _</DIV><DIV>- remplacer les caractères ac=
centués par les mêmes caractères sans accent (i-e é =
par e, É par E, etc.)</DIV><DIV>Je suis en utf-8</DIV><DIV><BR></DI=
V><DIV>J'ai bien essayé "find /opt/audio/ -name "*" -exec rename 's=
/s+/_/g' {} ;" mais ça ne fonctionne pas.</DIV><DIV><BR></DIV><DI=
V>Quelqu'un aurait-il une piste ?</DIV><DIV><BR></DIV><DIV>Cordialement,=
</DIV><DIV><BR></DIV><DIV>Nicolas Roudninski<BR><BR></DIV>
<DIV id="M2Signature"><DIV>-- </DIV><DIV>Nicolas Roudninski<BR>nicolas=
@tycho.fr<BR><BR>S'il vous plaît, évitez de m'envoyer des piÃ=
¨ces jointes au format Word ou PowerPoint.<BR>Voir <A href="http://w=
ww.gnu.org/philosophy/no-word-attachments.fr.html">http://www.gnu.org/ph=
ilosophy/no-word-attachments.fr.html</A></DIV></DIV></BODY></HTML>
ozQjaBdkS2Hp5X1OHcsm0W--

ozQjaBdkS2Hp5XXqe3fEuZ--

--
Lisez la FAQ de la liste avant de poser une question :
http://wiki.debian.org/fr/FrenchLists Vous pouvez aussi ajouter le mot
``spam'' dans vos champs "From" et "Reply-To:"

Pour vous DESABONNER, envoyez un message avec comme objet "unsubscribe"
vers debian-user-french-REQUEST@lists.debian.org
En cas de soucis, contactez EN ANGLAIS listmaster@lists.debian.org
Vidéos High-Tech et Jeu Vidéo
Téléchargements
Vos réponses Page 1 / 2
Gagnez chaque mois un abonnement Premium avec GNT : Inscrivez-vous !
Trier par : date / pertinence
Basile STARYNKEVITCH
Le #20609521
Nicolas Roudninski wrote:
Bonjour à tous,

J'ai un problème, sans doute de débutant, mais je n'arrive pas à m'en
sortir.

Mon problème :
J'ai une assez large collection de musique organisée en répertoires et
sous-répertoires du style "artiste/album/fichier_audio"
Cette collection est sur un serveur debian lenny et j'utilise
tincanjukebox (php, javascript) pour écouter mes morceaux préférés.
TinCanjoukebox n'aime pas deux choses : les espaces dans les noms de
répertoire et de fichier et les caractères accentués.

Je cherche donc un moyen de renommer en masse et récursivement tous les
répertoires et fichiers pour :
- remplacer les espaces par des _
- remplacer les caractères accentués par les mêmes caractères sans
accent (i-e é par e, É par E, etc.)




Peut⁻être utiliser la commande rename ou prename (installée avec perl)

Sinon, faire un script dans le langage de script qui te plait (Ruby, Python, Perl, Ocaml, ...)


--
Basile STARYNKEVITCH http://starynkevitch.net/Basile/
email: basile<at>starynkevitch<dot>net mobile: +33 6 8501 2359
8, rue de la Faiencerie, 92340 Bourg La Reine, France
*** opinions {are only mines, sont seulement les miennes} ***

--
Lisez la FAQ de la liste avant de poser une question :
http://wiki.debian.org/fr/FrenchLists Vous pouvez aussi ajouter le mot
``spam'' dans vos champs "From" et "Reply-To:"

Pour vous DESABONNER, envoyez un message avec comme objet "unsubscribe"
vers
En cas de soucis, contactez EN ANGLAIS
Txo
Le #20609621
En ce dimanche 22 novembre 2009 à 19:11:18 Nicolas Roudninski nous
susurrait :

Bonjour à tous,

J'ai un problème, sans doute de débutant, mais je n'arrive pas à m'en
sortir.

Mon problème :
J'ai une assez large collection de musique organisée en répertoires et
sous-répertoires du style "artiste/album/fichier_audio"
Cette collection est sur un serveur debian lenny et j'utilise
tincanjukebox (php, javascript) pour écouter mes morceaux préférés.
TinCanjoukebox n'aime pas deux choses : les espaces dans les noms de
répertoire et de fichier et les caractères accentués.

Je cherche donc un moyen de renommer en masse et récursivement tous les
répertoires et fichiers pour :
- remplacer les espaces par des _
- remplacer les caractères accentués par les mêmes caractères sans accent
(i-e é par e, É par E, etc.)
Je suis en utf-8

J'ai bien essayé "find /opt/audio/ -name "*" -exec rename 's/s+/_/g' {}
;" mais ça ne fonctionne pas.

Quelqu'un aurait-il une piste ?



J'utilise pyrenamer qui fait ça très bien.

--
-+- Dominique Marin http://txodom.free.fr -+-
Le Moustique : «Je nettoyais mon clavier, et le coup est parti tout
seul...» Dan : «Ce matin, j'ai essayé d'entrer un mot de passe sur le
-+- four à micro-ondes !» -+-

--
Lisez la FAQ de la liste avant de poser une question :
http://wiki.debian.org/fr/FrenchLists Vous pouvez aussi ajouter le mot
``spam'' dans vos champs "From" et "Reply-To:"

Pour vous DESABONNER, envoyez un message avec comme objet "unsubscribe"
vers
En cas de soucis, contactez EN ANGLAIS
Goldy
Le #20609611
Nicolas Roudninski a écrit :
Bonjour à tous,

J'ai un problème, sans doute de débutant, mais je n'arrive pas à m'en
sortir.

Mon problème :
J'ai une assez large collection de musique organisée en répertoires et
sous-répertoires du style "artiste/album/fichier_audio"
Cette collection est sur un serveur debian lenny et j'utilise
tincanjukebox (php, javascript) pour écouter mes morceaux préférés.
TinCanjoukebox n'aime pas deux choses : les espaces dans les noms de
répertoire et de fichier et les caractères accentués.

Je cherche donc un moyen de renommer en masse et récursivement tous les
répertoires et fichiers pour :
- remplacer les espaces par des _
- remplacer les caractères accentués par les mêmes caractères sans
accent (i-e é par e, É par E, etc.)
Je suis en utf-8

J'ai bien essayé "find /opt/audio/ -name "*" -exec rename 's/s+/_/g' {}
;" mais ça ne fonctionne pas.

Quelqu'un aurait-il une piste ?

Cordialement,

Nicolas Roudninski

--
Nicolas Roudninski


S'il vous plaît, évitez de m'envoyer des pièces jointes au format Word
ou PowerPoint.
Voir http://www.gnu.org/philosophy/no-word-attachments.fr.html



Personnellement, j'écrirais un script en utilisant le remplacement de
sous-chaîne, un peu comme ça :

for file in *
do

newname=${file// /_}

mv "$file" "$newname"

done




Il faut ensuite écrire un truc similaire pour les caractères non ASCII,
et faire en sorte qu'il parcours les répertoires, mais dans le principe
ça reste simple.

--
Lisez la FAQ de la liste avant de poser une question :
http://wiki.debian.org/fr/FrenchLists Vous pouvez aussi ajouter le mot
``spam'' dans vos champs "From" et "Reply-To:"

Pour vous DESABONNER, envoyez un message avec comme objet "unsubscribe"
vers
En cas de soucis, contactez EN ANGLAIS
Edi Stojicevic
Le #20609761
* Nicolas Roudninski
Bonjour à tous,

J'ai un problème, sans doute de débutant, mais je n'arrive pas à
m'en sortir.

Mon problème :
J'ai une assez large collection de musique organisée en répertoires
et sous-répertoires du style "artiste/album/fichier_audio"
Cette collection est sur un serveur debian lenny et j'utilise
tincanjukebox (php, javascript) pour écouter mes morceaux préférés.
TinCanjoukebox n'aime pas deux choses : les espaces dans les noms de
répertoire et de fichier et les caractères accentués.

Je cherche donc un moyen de renommer en masse et récursivement tous
les répertoires et fichiers pour :
- remplacer les espaces par des _
- remplacer les caractères accentués par les mêmes caractères sans
accent (i-e é par e, É par E, etc.)
Je suis en utf-8

J'ai bien essayé "find /opt/audio/ -name "*" -exec rename
's/s+/_/g' {} ;" mais ça ne fonctionne pas.

Quelqu'un aurait-il une piste ?

Cordialement,

Nicolas Roudninski



Salut,

Voila où zsh est vraiment super :)

Voici une commande qui te permettra de renommer tous les espaces et
recursivement tous les fichiers de ton répertoire :

Avant tout installons zsh :

# apt-get install zsh

puis :

$zsh
$ autoload zmv
$ zmv -Q "(**/)(* *)(D)" "$1${2// /_}"

Voili voilou ;)

Quelques liens pour ceux que zsh intéresseraient :

http://zshwiki.org/
http://www.zsh.org/mla/ Searchable Mailing List Archive
http://grml.org/zsh/zsh-lovers.html
http://zsh.sunsite.dk/Doc/Release/zsh_toc.html Everything?

a+

--
.''`. Edi Stojicevic
: :' : Debian GNU/Linux user, admin & developer - http://www.debian.org
`. `~' French speaking Debian website founder - http://www.debianworld.org
`- GPG Key Id : 0x1237B032

--
Lisez la FAQ de la liste avant de poser une question :
http://wiki.debian.org/fr/FrenchLists Vous pouvez aussi ajouter le mot
``spam'' dans vos champs "From" et "Reply-To:"

Pour vous DESABONNER, envoyez un message avec comme objet "unsubscribe"
vers
En cas de soucis, contactez EN ANGLAIS
Jean-Damien Durand
Le #20610041
Le dimanche 22 novembre 2009 20:27:16, Edi Stojicevic a écrit :
$zsh
$ autoload zmv
$ zmv -Q "(**/)(* *)(D)" "$1${2// /_}"




Maximal respect pour ce shell merveilleux -;
Merci pour l'astuce.

JD.

--
Lisez la FAQ de la liste avant de poser une question :
http://wiki.debian.org/fr/FrenchLists Vous pouvez aussi ajouter le mot
``spam'' dans vos champs "From" et "Reply-To:"

Pour vous DESABONNER, envoyez un message avec comme objet "unsubscribe"
vers
En cas de soucis, contactez EN ANGLAIS
Cyrille
Le #20610031
Bonsoir,


> Je cherche donc un moyen de renommer en masse et récursivement tous l es
> répertoires et fichiers pour :
> - remplacer les espaces par des _
> - remplacer les caractères accentués par les mêmes caractères s ans
> accent (i-e é par e, É par E, etc.)



Tu peux jeter un oeil sur les paquets detox et unaccent
sinon sous X, il y a pyRenamer qui doit faire aussi cela
easyTag sert à la gestion des tag mp3 mais je ne sais plus si l'on peut j ouer sur les noms de fichiers (à voir)
Sinon avec sed, tu dois pouvoir faire tout ce que tu veux

++
Cyrille


----
[ | http://cbiot.fr ]

- All we have to decide is what to do
- with the time that is given us.
- - - - - - - - - - JRR Tolkien, 1954

VEGAN : http://www.vegansociety.com
Membre de l'APRIL : http://www.april.org
DEBIAN : http://www.debian.org
CNT : http://www.cnt-f.org/

--
Lisez la FAQ de la liste avant de poser une question :
http://wiki.debian.org/fr/FrenchLists Vous pouvez aussi ajouter le mot
``spam'' dans vos champs "From" et "Reply-To:"

Pour vous DESABONNER, envoyez un message avec comme objet "unsubscribe"
vers
En cas de soucis, contactez EN ANGLAIS
Stephane Bortzmeyer
Le #20610361
On Sun, Nov 22, 2009 at 07:11:18PM +0100,
Nicolas Roudninski a message of 87 lines which said:

Je cherche donc un moyen de renommer en masse et récursivement tous
les répertoires et fichiers pour :



Le meilleur renommeur est mmv (paquetage Debian du même nom).

--
Lisez la FAQ de la liste avant de poser une question :
http://wiki.debian.org/fr/FrenchLists Vous pouvez aussi ajouter le mot
``spam'' dans vos champs "From" et "Reply-To:"

Pour vous DESABONNER, envoyez un message avec comme objet "unsubscribe"
vers
En cas de soucis, contactez EN ANGLAIS
Papinux
Le #20616131
Le Sun, 22 Nov 2009 19:11:18 +0100, Nicolas Roudninski a voulu dire :

Bonjour à tous,


Bonsoir,

[...]

Je cherche donc un moyen de renommer en masse et récursivement tous les
répertoires et fichiers pour :
- remplacer les espaces par des _
- remplacer les caractères accentués par les mêmes caractères san s accent
(i-e é par e, É par E, etc.)
Je suis en utf-8

J'ai bien essayé "find /opt/audio/ -name "*" -exec rename 's/s+/_/g' { }
;" mais ça ne fonctionne pas.

Quelqu'un aurait-il une piste ?



detox est fait pour ça (agit récursivement, supprime les espaces,
caractères accentués, etc).

--

--
Lisez la FAQ de la liste avant de poser une question :
http://wiki.debian.org/fr/FrenchLists Vous pouvez aussi ajouter le mot
``spam'' dans vos champs "From" et "Reply-To:"

Pour vous DESABONNER, envoyez un message avec comme objet "unsubscribe"
vers
En cas de soucis, contactez EN ANGLAIS
Papinux
Le #20616831
Le Mon, 23 Nov 2009 18:39:51 +0100, Papinux a voulu dire :

Le Sun, 22 Nov 2009 19:11:18 +0100, Nicolas Roudninski a écrit :




detox est fait pour ça (agit récursivement, supprime les espaces,
caractères accentués, etc).



Oups! quelqu'un avait déjà cité detox.

--

--
Lisez la FAQ de la liste avant de poser une question :
http://wiki.debian.org/fr/FrenchLists Vous pouvez aussi ajouter le mot
``spam'' dans vos champs "From" et "Reply-To:"

Pour vous DESABONNER, envoyez un message avec comme objet "unsubscribe"
vers
En cas de soucis, contactez EN ANGLAIS
Nicolas Roudninski
Le #20617411
Merci à tous pour ces nombreuses réponses !
Je vais tenter différentes solutions parmi celles proposées. Mon choix va
d'abord (et à priori) vers detox...

Encore merci

On Mon, 23 Nov 2009 20:05:30 +0100, Papinux
Le Mon, 23 Nov 2009 18:39:51 +0100, Papinux a voulu dire :

Le Sun, 22 Nov 2009 19:11:18 +0100, Nicolas Roudninski a écrit :




detox est fait pour ça (agit récursivement, supprime les espaces,
caractères accentués, etc).



Oups! quelqu'un avait déjà cité detox.

--



--
Nicolas Roudninski


S'il vous plaît, évitez de m'envoyer des pièces jointes au format Word ou
PowerPoint.
Voir http://www.gnu.org/philosophy/no-word-attachments.fr.html

--
Lisez la FAQ de la liste avant de poser une question :
http://wiki.debian.org/fr/FrenchLists Vous pouvez aussi ajouter le mot
``spam'' dans vos champs "From" et "Reply-To:"

Pour vous DESABONNER, envoyez un message avec comme objet "unsubscribe"
vers
En cas de soucis, contactez EN ANGLAIS
Publicité
Poster une réponse
Anonyme