Contenu | Rechercher | Menus

Annonce

Si vous avez des soucis pour rester connecté, déconnectez-vous puis reconnectez-vous depuis ce lien en cochant la case
Me connecter automatiquement lors de mes prochaines visites.

À propos de l'équipe du forum.

#1 Le 29/06/2015, à 16:43

remi82

Renommer tous les fichiers contenant des accents

Bonjour,

J'ai un partage samba qui est utilisé par plusieurs utilisateurs.
Je leur demande continuellement de ne pas mettre d'accent dans les noms de fichiers. Mais sans succès.

Je cherche donc un moyen via un shell, de pouvoir modifier tous les noms des fichiers (y compris ceux de sous dossiers) en remplaçant les "é" par "e", les "à" par "a", etc...

Merci par avance.

Hors ligne

#2 Le 29/06/2015, à 17:39

Markorki

Re : Renommer tous les fichiers contenant des accents

C'est vraiment impossible d'utiliser des noms accentués sur ton système ??
L'autre bout, c'est Windows, bien sûr, un truc soi-disant localisé (et qui se vend au japon, ça devrait pouvoir avaler n'importe quels caractères).

On est en France, et tu n'empècheras jamais ceux qui écrivent français depuis longtemps d'utiliser leur alphabet... tiens, j'ai utilisé une cédille ;-)
Changer autoritairement les noms de fichiers peut aussi mener à des paniques : ceux qui ont des moulinettes en local sur une machine *ix risquent de paniquer  quand ces moulinettes ne trouvent plus le fichier créé la veille qui s'appelait "voilà_mon_garçon".

En plus de ces inconvénients, tu vas risquer des collisions parce que tu auras un renommage non biunivoque : n noms différents peuvent donner le même, tels "démélés, démeles, deméles, etc..." , ça va être aussi folklo que les noms_courts/nom_long des PC au passage de DOS à windows...

Sinon, oui, on peut faire une moulinette, mais il me semble que la solution est de mettre tout le monde en UDF8 ou en codage qui encode **tous** les caractères susceptibles d'être utilisés, de façon à ce que les noms restent identiques aux deux bouts.
À (caractère majuscule accentué) mon avis, la moulinette est réalisable, mais ni souhaitable ni efficace.

Sinon ça peut commencer par

cd racine
find . | while read truc do
nom=`basename ${truc}`
chemin=`pathname ${truc}`  
nouveaunom=`echo $nom | sed ...

là, suite de commandes sed du style s#à#a# 

et ensuite on recolle les morceaux avec qq chose comme

mv ${chemin}/${nom} ${chemin}/${nouveaunom}
done

Je ne te fais pas tout, ça peut marcher, mais je oute que ça arrange grand-chose.

Hors ligne

#3 Le 30/06/2015, à 05:45

remi82

Re : Renommer tous les fichiers contenant des accents

Salut,

Peux tu me dire comment pour tout passer en UDF8?
Merci

Hors ligne

#4 Le 04/07/2015, à 08:55

Markorki

Re : Renommer tous les fichiers contenant des accents

bonjour,

malheureusement, je n'ai pas cette compétence, et c'est un défaut de ce forum ubuntu.fr, à mon avis, c'est que les sujets sont compartimentés, et on ne met pas nécessairement sa dema,de d'aide dans le bon sous-forum.

Il manque un sous-forum où on pourrait poster et où un admin guillerait la demande d'aide vers les bons experts...

à défaut, une recherche sur ubuntu.fr avec le mot-clé "samba" (et éventuellement udf) doit donner une idée. soit sous google : samba udf site:forum.ubuntu-fr.org

désolé de ne pas savoir faire mieux.

Hors ligne

#5 Le 04/07/2015, à 12:25

serged

Re : Renommer tous les fichiers contenant des accents


LinuxMint Vera Cinnamon et d'autres machines en MATE, XFCE... 20.x , 21.x ou 19.x
Tour : Asus F2A55 / AMD A8-5600K APU 3,6GHz / RAM 16Go / Nvidia GeForce GT610 / LM21.1 Cinnamon
Portable : LDLC Mercure MH : Celeron N3450 /RAM 4Go / Intel HD graphics 500 i915 / biboot Win 10 (sur SSD) - LM21.1 MATE (sur HDD)

Hors ligne

#6 Le 04/07/2015, à 13:04

maxire

Re : Renommer tous les fichiers contenant des accents

Bonjour,

D'accord avec Markorki, la suppression des caractères accentués n'est pas une solution, d'autant plus que linux accepte parfaitement des noms de fichiers avec des caractères  accentués ou spéciaux pour autant que le système est correctement configuré, exemple:

$ locale
LANG=fr_FR.utf8
LC_CTYPE="fr_FR.utf8"
LC_NUMERIC="fr_FR.utf8"
LC_TIME="fr_FR.utf8"
LC_COLLATE="fr_FR.utf8"
LC_MONETARY="fr_FR.utf8"
LC_MESSAGES="fr_FR.utf8"
LC_PAPER="fr_FR.utf8"
LC_NAME="fr_FR.utf8"
LC_ADDRESS="fr_FR.utf8"
LC_TELEPHONE="fr_FR.utf8"
LC_MEASUREMENT="fr_FR.utf8"
LC_IDENTIFICATION="fr_FR.utf8"
LC_ALL=
$ 

et

$ touch àlasemaineprochaîne@çestpasidoïne
$ ls à*
àlasemaineprochaîne@çestpasidoïne
$ 

Donc revois la configuration de ton serveur, vérifies bien si il est configuré en UTF8 (et non en UDF8).

PS:
Sous Debian/Ubuntu le paramétrage des tables de caractères est réalisé par:

sudo dpkg-reconfigure console-setup

Dernière modification par maxire (Le 04/07/2015, à 13:13)


Maxire
Archlinux/Mate + Ubuntu 22.04 + Archlinux/Gnome sur poste de travail

Hors ligne

#7 Le 09/07/2015, à 15:54

remi82

Re : Renommer tous les fichiers contenant des accents

Je vous remercie.
Je vais regarder tout ça !

Hors ligne