Forum |  HardWare.fr | News | Articles | PC | S'identifier | S'inscrire | Shop Recherche
1116 connectés 

  FORUM HardWare.fr
  Linux et OS Alternatifs
  Divers

  renomage en masse de fichier avec des foutu charset :(

 


 Mot :   Pseudo :  
 
Bas de page
Auteur Sujet :

renomage en masse de fichier avec des foutu charset :(

n°282281
beber.done​ux01
oui
Posté le 24-06-2003 à 13:28:37  profilanswer
 

voila, j'ai un partage samba qui dans un premier temps ne faisait pas la conversion des caractères spéciaux, du coup sur le serveur linux on se retrouvait avec plein de "fichier sp?ciaux" c'est assez chiant, j'ai alors rajouté un client code page = 850 et character set = ISO8859-1, ca marche evidemment tres bien pour les nouveaux fichiers créés, mais les anciens sont toujours au mauvais format. Pire, comme samba fait la conversion dans l'autre sans (alors que ces fichiers sont deja en ISO8859-1 puisque créés depuis windows avec samba sans conversion) ils sont carements invisibles depuis windows.
 
Alors j'ai déja commencé a renomer les fichiers les plus important, il y en a un bon paquet ! En plus c'est chiant car un ne sais pas taper directement le nom du fichier avec ces foutus caractères, je suis obligé d'utiliser l'auto completion, et si par malheur ya plusieurs fichiers qui commencent pareil, je suis foutu
 :fou:  
 
Donc ma question : qqun connait-il un moyen de renomer tout ces fichiers avec des caracteres spéciaux "windowsiens" sur un fs linux (ext3 en l'occurence)
 
Je me disais dans une espoir fous qu'il existerait un petit programme ou script qui scanne tout les rep et detectes les fichiers avec des caractères spéciaux et les convertisses...

mood
Publicité
Posté le 24-06-2003 à 13:28:37  profilanswer
 

n°282309
chaica
Posté le 24-06-2003 à 14:42:59  profilanswer
 

Si tu connais un peu le perl, ca doit pas être très long à faire. Sinon va falloir chercher...
 
CHaiCA

n°282320
splurf
Rm -Rf / && oops :o
Posté le 24-06-2003 à 15:39:15  profilanswer
 

mv et tr sont tes amis :-P

n°282330
minusplus
Posté le 24-06-2003 à 16:07:49  profilanswer
 

splurf a écrit :

mv et tr sont tes amis :-P

je dirais plutot find et rename mais bon... :o

n°282358
splurf
Rm -Rf / && oops :o
Posté le 24-06-2003 à 16:56:01  profilanswer
 

et pourquoi pas mv et tr? :-P

n°282370
minusplus
Posté le 24-06-2003 à 17:34:38  profilanswer
 

ben passke pour explorer une arborescence avec des critères précis, on a quand même pas fait mieux que find et que pour renomer un fichier en utilisant la puissance des regexp de perl, ben faut utiliser rename ! [:spamafote]
 
 
bon maintenant, tous le monde est libre, hein ! :D

n°282394
splurf
Rm -Rf / && oops :o
Posté le 24-06-2003 à 18:18:25  profilanswer
 

vi, mais bon, qd on peut éviter l'usine à gaz.....
 
genre renommer des fichiers de minuscules en majuscules  
 

Code :
  1. for i in *
  2. do
  3. mv $i `echo $i | tr 'a-z' 'A-Z'`
  4. done


apres, ça doit s'adapter.....
 
enfin, ct ma contrib à ce post :-P


Message édité par splurf le 24-06-2003 à 18:18:50
n°282407
minusplus
Posté le 24-06-2003 à 18:36:48  profilanswer
 

splurf a écrit :

vi, mais bon, qd on peut éviter l'usine à gaz.....
 
genre renommer des fichiers de minuscules en majuscules  
 

Code :
  1. for i in *
  2. do
  3. mv $i `echo $i | tr 'a-z' 'A-Z'`
  4. done


apres, ça doit s'adapter.....
 
enfin, ct ma contrib à ce post :-P

et si ton arborescence est plus profonde ?  
et si tu veux juste renommer les fichiers dont le nom contient "wahoga" à partir de la 4ème lettre ? et si tu veux tronquer les noms de fichier qui contiennent un numéro ?
 
et ben là, tu utilise find et rename ! :D  :whistle:

n°282409
splurf
Rm -Rf / && oops :o
Posté le 24-06-2003 à 18:37:58  profilanswer
 

tootafai :-P

n°282606
beber.done​ux01
oui
Posté le 24-06-2003 à 23:59:24  profilanswer
 

merci bien, mais ca me dis pas vraiment comment utiliser que se soit find ou tr car il faut a un moment ou a un autre devoir taper ces fichus caracteres dans les arguments :(

mood
Publicité
Posté le 24-06-2003 à 23:59:24  profilanswer
 

n°282626
splurf
Rm -Rf / && oops :o
Posté le 25-06-2003 à 01:14:38  profilanswer
 

un début de réponse pour des fichiers dans un seul et meme répertoire
 

Code :
  1. typeset -i var
  2. var=0
  3. ext=doc
  4. for i in *.$ext
  5. do
  6. mv $i fichier$var.$ext
  7. var=$var+1
  8. done


ext étant le type de document jpg, gif, doc, rtf, xls....
Attention => TOUS les fichiers auront leur nom modifié


Message édité par splurf le 25-06-2003 à 01:32:34
n°282636
splurf
Rm -Rf / && oops :o
Posté le 25-06-2003 à 01:46:05  profilanswer
 

solution un peu plus propre
 

Code :
  1. for i in *
  2. do
  3.   fic=`echo $i | sed -e 's/[^a-zA-Z0-9.-_()=#]//g'`
  4.   if [ -f $fic ];then
  5.     echo fichier $fic existant ou pas a modifier
  6.     echo "fichier $fic a pose probleme ou est identique" >> ~/erreur.rpt
  7.   else
  8.     mv $i $fic
  9.   fi
  10. done


 
 

n°282704
minusplus
Posté le 25-06-2003 à 10:49:43  profilanswer
 

wé enfin, tu réinvente l'eau chaude là, tu le sais ? :D

n°282846
splurf
Rm -Rf / && oops :o
Posté le 25-06-2003 à 16:15:13  profilanswer
 

minusplus a écrit :

wé enfin, tu réinvente l'eau chaude là, tu le sais ? :D


 
je me passerais volontiers de tes sarcasmes.
 
monsieur le gourou, toi qui es si malin, propose une solution, ça sera un peu plus CONSTRUCTIF
 
bonne soirée

n°282894
bobuse
Posté le 25-06-2003 à 17:23:29  profilanswer
 

splurf a écrit :

un début de réponse pour des fichiers dans un seul et meme répertoire
 

Code :
  1. typeset -i var
  2. var=0
  3. ext=doc
  4. for i in *.$ext
  5. do
  6. mv $i fichier$var.$ext
  7. var=$var+1
  8. done


ext étant le type de document jpg, gif, doc, rtf, xls....
Attention => TOUS les fichiers auront leur nom modifié


 
heu c'est koi ca ? du perl ? precises paske la ...


---------------
get amaroK plugin
n°282899
minusplus
Posté le 25-06-2003 à 17:31:26  profilanswer
 

ce ne sont pas des sarcasmes, c'est juste que je pense que c'est  plus efficace de faire :
 

find -type f |  rename '($a = $_) =~ s/[^a-zA-Z0-9.-_]//g; $b=1; my $c=$a; while(stat $c) { $c=$a.$b++ } ; $_ = $c; '


 
[:spamafote]

n°282904
bobuse
Posté le 25-06-2003 à 17:34:09  profilanswer
 

minusplus a écrit :

ce ne sont pas des sarcasmes, c'est juste que je pense que c'est  plus efficace de faire :
 

find -type f |  rename '($a = $_) =~ s/[^a-zA-Z0-9.-_]//g; $b=1; my $c=$a; while(stat $c) { $c=$a.$b++ } ; $_ = $c; '


 
[:spamafote]


 :sol: YES
ca c'est du bon !


---------------
get amaroK plugin
n°282907
splurf
Rm -Rf / && oops :o
Posté le 25-06-2003 à 17:36:50  profilanswer
 

minusplus a écrit :

ce ne sont pas des sarcasmes, c'est juste que je pense que c'est  plus efficace de faire :
 

find -type f |  rename '($a = $_) =~ s/[^a-zA-Z0-9.-_]//g; $b=1; my $c=$a; while(stat $c) { $c=$a.$b++ } ; $_ = $c; '


 
[:spamafote]


 
tu pouvais pas le dire plus tot...............;

n°282908
minusplus
Posté le 25-06-2003 à 17:37:01  profilanswer
 

:o :D

n°282939
splurf
Rm -Rf / && oops :o
Posté le 25-06-2003 à 18:03:54  profilanswer
 

modo boolay........si, si cai vrai :-D

n°284191
beber.done​ux01
oui
Posté le 28-06-2003 à 12:33:23  profilanswer
 

bon dans un premier temp j'aimerais bien lister tout les fichiers contenant ces caracteres non imprimable.
 
j'ai essayé un  
 

find -type f | egrep '[^a-zA-Z0-9.-_]'

 
 
Mais ca m'affiche tout les fichiers. Comment qu'on fait ?
 
Je suis nul en expressions regulieres et je pige rien au truc de minusplus

n°284196
beber.done​ux01
oui
Posté le 28-06-2003 à 13:05:08  profilanswer
 

c'est bon j'ai trouvé, c'est iconv que je cherchait !
 
Juste un pb, voila ce que je fais :
 

for i in *.doc;do file=`echo $i | iconv -f 850 -t ISO8859-1`;  mv $i $file; done;

 
 
mais j'ai mv qui me retoutourne une erreur:
 

mv: when moving multiple files, last argument must be a directory
Try `mv --help' for more information.

 
 
 :(

n°284639
splurf
Rm -Rf / && oops :o
Posté le 29-06-2003 à 16:22:09  profilanswer
 

Code :
  1. mkdir /nouveaudossier && for i in *.doc;do file=`echo $i | iconv -f 850 -t ISO8859-1`;  mv $i /nouveaudossier; done;

mood
Publicité
Posté le   profilanswer
 


Aller à :
Ajouter une réponse
  FORUM HardWare.fr
  Linux et OS Alternatifs
  Divers

  renomage en masse de fichier avec des foutu charset :(

 

Sujets relatifs
[KDE] dans quel fichier est stocke le theme d'icones ??compilation d'un fichier
[noyau] question sur le fichier System.mapMLDonkey et fichier /etc/hosts ...
[freebsd] fichier perdu avec rmlire fichier dos
Partage de fichier avec Samba[Shell] Recuperer la ligne n d'un fichier ?
Fichier fstab :'(lire un fichier ligne a ligne en bash
Plus de sujets relatifs à : renomage en masse de fichier avec des foutu charset :(


Copyright © 1997-2022 Hardware.fr SARL (Signaler un contenu illicite / Données personnelles) / Groupe LDLC / Shop HFR