Précédent   Forum des professionnels en informatique > Systèmes > Linux > Applications > Shell
Shell Vos questions sur l'utilisation des commandes shell
Partagez cette discussion sur d'autres réseaux sociaux : Viadeo Twitter Google Facebook Digg Delicious MySpace Yahoo
Réponse Proposer ce sujet en actualité
 
Outils de la discussion
Publicité
'
Vieux 16/11/2010, 13h24   #1
Invité de passage
 
Inscription : juin 2006
Messages : 23
Détails du profil
Informations forums :
Inscription : juin 2006
Messages : 23
Points : 4
Points : 4
Par défaut trouver les fichiers et dossiers contenant des caractères spéciaux

Bonjour,

J'ai un serveur de fichiers sous linux qui était monté en afp sur des mac
Ce volume doit maintenant être monté en smb mais les caractères accentués dans les dossiers rendent leur contenu inaccessibles et des caractères spéciaux invisibles font que les dossiers sont renommés.
ex un dossier "20_08_10 " avant devient 2R7BMJ~1 en smb mais est toujours vu comme "20_08_10" sous unix
je souhaiterai pouvoir lister les fichiers et les dossiers contenant ces caractères spéciaux et les renommer
pour les caractères accentués j'aimerai juste enlever l'accent et pour les autres les remplacer par un _
mon autre problème est que les accents sont vus comme eÌ sous unix et é en smb sur les mac

Si quelqu'un a une idée merci d'avance.
katwes est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 16/11/2010, 18h43   #2
Expert Confirmé Sénior
 
Avatar de frp31
 
Homme francois
Ingénieur systèmes et réseaux
Inscription : juillet 2006
Messages : 3 514
Détails du profil
Informations personnelles :
Nom : Homme francois
Âge : 35
Localisation : France, Haute Garonne (Midi Pyrénées)

Informations professionnelles :
Activité : Ingénieur systèmes et réseaux
Secteur : Aéronautique - Marine - Espace - Armement

Informations forums :
Inscription : juillet 2006
Messages : 3 514
Points : 7 701
Points : 7 701
l'origine du problème déjà :
Tu dois IMPERATIVEMENT unifier l'ensemble des machines du réseau en terme de tables de caractères/locales etc....

idéalement UTF-8-fr partout (celui là c'est sur existe sous les 3 environnements mais il y a peut etre d'autres choix disponibles)

-----------------------

APRES tu peux faire une passe pour corriger les fichiers qui ont des noms incohérants sur l'ensemble des partages

-----------------------

La méthode identifier les caractères en faute et faire un :

Code :
1
2
3
4
5
6
$ ls
Tut~
$ for i in *~* ; do mv $i $(echo $i|sed "s/~/é/") ; done
$ ls
Tuté           
$
tu peux bien sur scripter la commande pour prendre en charge plusieurs cas différents ou utiliser un find pour identifier une liste de fichier répartie dans tous les sous répertoires

Code :
for i in $( find . -type f -name "*~*") ; do mv $i $(echo $i|sed "s/~/e/") ;done
frp31 est actuellement connecté   Envoyer un message privé Réponse avec citation 10
Réponse Proposer ce sujet en actualité
Outils de la discussion



Fuseau horaire GMT +2. Il est actuellement 18h33.


 
 
 
 
Partenaires

Hébergement Web