Twitter iPhone pliant OnePlus 11 PS5 Disney+ Orange Livebox Windows 11

rennommer des fichiers en masse

14 réponses
Avatar
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=3D"font-family:'Times New Roman'; font-size:16px"><DIV>Bonjo=
ur =C3=A0 tous,</DIV><DIV><BR></DIV><DIV>J'ai un probl=C3=A8me, sans dou=
te de d=C3=A9butant, mais je n'arrive pas =C3=A0 m'en sortir.</DIV><DIV>=
<BR></DIV><DIV>Mon probl=C3=A8me :</DIV><DIV>J'ai une assez large collec=
tion de musique organis=C3=A9e en r=C3=A9pertoires et sous-r=C3=A9pertoi=
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 =C3=A9couter mes morceaux pr=C3=A9f=C3=A9r=C3=A9s.</DIV><DIV>Tin=
Canjoukebox n'aime pas deux choses : les espaces dans les noms de r=C3=A9=
pertoire et de fichier et les caract=C3=A8res accentu=C3=A9s.</DIV><DIV>=
<BR></DIV><DIV>Je cherche donc un moyen de renommer en masse et r=C3=A9c=
ursivement tous les r=C3=A9pertoires et fichiers pour :</DIV><DIV>- remp=
lacer les espaces par des _</DIV><DIV>- remplacer les caract=C3=A8res ac=
centu=C3=A9s par les m=C3=AAmes caract=C3=A8res sans accent (i-e =C3=A9 =
par e, =C3=89 par E, etc.)</DIV><DIV>Je suis en utf-8</DIV><DIV><BR></DI=
V><DIV>J'ai bien essay=C3=A9 "find /opt/audio/ -name "*" -exec rename 's=
/\s+/_/g' {} \;" mais =C3=A7a 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=3D"M2Signature"><DIV>-- </DIV><DIV>Nicolas Roudninski<BR>nicolas=
@tycho.fr<BR><BR>S'il vous pla=C3=AEt, =C3=A9vitez de m'envoyer des pi=C3=
=A8ces jointes au format Word ou PowerPoint.<BR>Voir <A href=3D"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

10 réponses

1 2
Avatar
Basile STARYNKEVITCH
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
Avatar
Txo
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
Avatar
Goldy
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
Avatar
Edi Stojicevic
* Nicolas Roudninski [2009-11-22 19:11:18 +0100] 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.)
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
Avatar
Jean-Damien Durand
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
Avatar
Cyrille
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
Avatar
Stephane Bortzmeyer
On Sun, Nov 22, 2009 at 07:11:18PM +0100,
Nicolas Roudninski wrote
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
Avatar
Papinux
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
Avatar
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.

--

--
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
Avatar
Nicolas Roudninski
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 wrote:
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
1 2