OVH Cloud OVH Cloud

Zinf ne comprend pas bien mes noms de fichier

13 réponses
Avatar
Batyann811
Bonsoir,

Je veux utiliser Zinf pour lire mes mp3 mais quand j'importe de fichier
dans la base MyMusic il me transforme tous les espaces en '%20' ainsi
j'obtiens des titre pas trés lisible genre :

'U2-i%20still%20haven't%20found%20what%20i'm%20looking%20for'

Avouez que c'est pas terrible !

Avez-vous ce problème ? Avez vous une solution ?

Je suspecte un problème en le type d'encodage de mes noms de fichier sur
le disque et ce qu'attend Zinf. Comment savoir quel encodage est utilisé
sur mon disque (ascii, UTF-8, ???) ?

Si ça peut aider je suis sur une slackware 10 et mon disque est en ext3.

Merci

10 réponses

1 2
Avatar
Jérémy JUST
On Mon, 06 Sep 2004 22:14:09 +0200
Batyann811 wrote:

Je veux utiliser Zinf pour lire mes mp3 mais quand j'importe de fichier
dans la base MyMusic il me transforme tous les espaces en '%20' ainsi
j'obtiens des titre pas trés lisible genre :

'U2-i%20still%20haven't%20found%20what%20i'm%20looking%20for'


C'est l'encodage utilisés pour les URL, sur le web (je ne sais pas
comment il s'appelle).

J'aurais tendance à conseiller de remplacer tous les espaces par des
traits de soulignement. Je *déteste* les espaces dans les noms de
fichiers, ça oblige à tout protéger partout et c'est long à taper.

Les traits de soulignement « _ », c'est un peu moins beau, mais tout
aussi lisible, et ça évite bien des problèmes.


En plus, pour ton cas, tu peux mettre le titre complet, écrit comme tu
l'entends dans les étiquettes ID3; la plupart des outils sait s'en
servir.

--
Jérémy JUST

Avatar
Batyann811
Jérémy JUST wrote:

J'aurais tendance à conseiller de remplacer tous les espaces par des
traits de soulignement. Je *déteste* les espaces dans les noms de
fichiers, ça oblige à tout protéger partout et c'est long à taper.

Les traits de soulignement « _ », c'est un peu moins beau, mais tout
aussi lisible, et ça évite bien des problèmes.

Moins beau ! Ça serait déjà moins moche que des %20 partout ! Mais le

probleme c'est ça va me faire pas mal de fichier à renomer. Mais si vous
connaissez un moyen de faire çà automatiquement (script ou prog) je suis
preneur.


En plus, pour ton cas, tu peux mettre le titre complet, écrit comme tu
l'entends dans les étiquettes ID3; la plupart des outils sait s'en
servir.



Ouais j'y ai pensé mais ça risque de me prendre un bon bout de temps.

Merci

Avatar
Nicolas George
Batyann811 wrote in message <chijde$ptv$:
Moins beau ! Ça serait déjà moins moche que des %20 partout ! Mais le
probleme c'est ça va me faire pas mal de fichier à renomer. Mais si vous
connaissez un moyen de faire çà automatiquement (script ou prog) je suis
preneur.


Avec zsh (version 4 au moins) :

for i in **/*%20*(.)
mv $i ${i/%20//_}

Avatar
Batyann811
Nicolas George wrote:
Batyann811 wrote in message <chijde$ptv$:

Moins beau ! Ça serait déjà moins moche que des %20 partout ! Mais le
probleme c'est ça va me faire pas mal de fichier à renomer. Mais si vous
connaissez un moyen de faire çà automatiquement (script ou prog) je suis
preneur.



Avec zsh (version 4 au moins) :

for i in **/*%20*(.)
mv $i ${i/%20//_}
Merci mais ça à pas l'air de marcher.


Je connais pas zsh mais ton script il ne recherche pas des %20 dans mes
noms de fichier par hasard. Si c'est la cas ça peut pas marcher car mes
noms de fichiers contiennent des espaces. C'est zinf qui interprete les
espaces comme des %20. Je commence à me dire que c'est peut-être un bug
de zinf et pas un problème d'encodage de mes noms de fichier. Ça serait
bien si quelqu'un pouvait me dire si les espaces dans les noms de
fichier passe bien sur sa machine avec zinf comme ça au moins je serais sûr.


Avatar
Nicolas George
Batyann811 wrote in message <chj0ct$r6e$:
for i in **/*%20*(.)
mv $i ${i/%20//_}


Je connais pas zsh mais ton script il ne recherche pas des %20 dans mes
noms de fichier par hasard. Si c'est la cas ça peut pas marcher car mes
noms de fichiers contiennent des espaces.


Ah, effectivement. Dans ce cas :

for i in **/*" "*(.)
mv $i ${i/ //_}

La subtilité est dans les guillemets autour de l'espace.


Avatar
Batyann811
Désolé mais ça marche toujours pas parfaitement. Sur ta ligne mv il y a
un / en trop je pense.

#!/bin/zsh
for i in **/*" "*(.)
mv "$i" "${i/ /_}"

Et même quand j'ai modifié ça il ne change que le premier espace du nom
de fichier pas les autres. Mais bon je vais me débrouiller avec ça. Je
vais executer ce script autant de fois que necessaire et au bout d'un
dixaine de fois maximum il aura transformer tous les ' ' en '_' et ça
sera bon.

Merci.
Avatar
Jérémy JUST
On Mon, 06 Sep 2004 23:05:31 +0200
Batyann811 wrote:

Les traits de soulignement « _ », c'est un peu moins beau, mais
tout aussi lisible, et ça évite bien des problèmes.

Moins beau ! Ça serait déjà moins moche que des %20 partout ! Mais le

probleme c'est ça va me faire pas mal de fichier à renomer. Mais si
vous connaissez un moyen de faire çà automatiquement (script ou prog)
je suis preneur.


Alors, pour le répertoire courant:

$ perl -e 'foreach (glob "*"){if (-f){$a=$_; s/ /_/g; rename $a, $_;}}'


Si tu veux le faire pour toute une arborescence:

$ find . -type f -print0 | perl -0 -ane '$a=$_; s/ /_/g; rename $a, $_;'


En plus, pour ton cas, tu peux mettre le titre complet, écrit comme
tu l'entends dans les étiquettes ID3; la plupart des outils sait s'en
servir.
Ouais j'y ai pensé mais ça risque de me prendre un bon bout de temps.



Il doit y avoir un moyen simple d'éditer les tags ID3 en Perl.

--
Jérémy JUST


Avatar
Nicolas George
Batyann811 wrote in message <chjkgi$afd$:
Et même quand j'ai modifié ça il ne change que le premier espace du nom
de fichier pas les autres.


Justement, ${i/ /_} remplace la première occurence, ${i/ //_} les remplace
toutes.

Avatar
Batyann811
Nicolas George wrote:
Batyann811 wrote in message <chjkgi$afd$:

Et même quand j'ai modifié ça il ne change que le premier espace du nom
de fichier pas les autres.



Justement, ${i/ /_} remplace la première occurence, ${i/ //_} les remplace
toutes.
Pourtant quand j'ai essayé ça n'a pas marché du tout.


Bon de toutes façons c'est pas grave j'ai fait un petit script en python
pour faire ça. Tant que j'y étais j'en ai fait un autre pour remplir les
tags id3 en fonction du nom de mes fichiers et quand je les ai importés
dans j'ai découvert que zinf ignore les tags id3. Dégouté !

Enfin maintenant ma musique est classée n'importe comment mais au moins
les tags id3 sont remplis et je n'ai plus de '%20' dans les titres c'est
déjà plus lisible.


Avatar
Nicolas George
Brice wrote in message :
au lieu de taper des scripts, tu peux essayer easytag et/ou candu, 2
bons softs graphiques de renommage en masse!


Faire des scripts est plus formateur quand on ne sait pas bien, et plus
rapide quand on sait déjà :-Þ

Par contre, comment vous avez appris perl ou python ??


Par la pratique, essentiellement. Un bon bouquin, pour commencer, aide
grandement. Pour perl, _Programming Perl_ est vraiment très bon, fiable et
écrit avec beaucoup d'humour. On dit aussi beaucoup de bien de _Learning
Perl_, qui viendrait avant. Tous deux sont chez O'Reilly, il y a
probablement des traductions françaises.

De plus si vous cherchez absolument à taper un script, le bash est
sympa dans le style lagage de prog et il sait très bien renommer des
fichiers (faut juste trouver les bonnes commandes ;)


Pour des scripts shell, zsh est plus puissant et plus fiable que bash. Et
comme shell interactif, il est mieux aussi. Je ne vois vraiment aucune
raison de conseiller bash.

Batyann811 wrote in message news:<chk0hq$gp$...


Il est d'usage de répondre en dessous du message que l'on cite, en ne
conservant que les parties utiles.

1 2