|
|
|
|
||||||
| fr.comp.os.unix Système UNIX. |
![]() |
|
|
LinkBack | Outils de la discussion |
|
|
#1 |
|
Messages: n/a
Hébergeur: |
Bonjour,
comment peut-on faire pour effacer (automatiquement, dans un script par exemple) des fichiers créés sous Windows avec des noms tordus du genre: "Toto TATA rétor à tôtö (FR).doc" L'idée est si possible d'avoir une méthode générale et non de remplacer les caractère un à un par leur code... Merci d'avance PascalJLM |
|
|
|
#2 |
|
Messages: n/a
Hébergeur: |
Sur fr.comp.os.unix, PascalJLM disait :
> comment peut-on faire pour effacer (automatiquement, dans un script > par exemple) des fichiers créés sous Windows avec des noms tordus du > genre: "Toto TATA rétor à tôtö (FR).doc" > L'idée est si possible d'avoir une méthode générale et non de > remplacer les caractère un à un par leur code... Ta question n'est pas assez précise, mais à priori tu as un probfème d'encodage des caractères sur ta partition. Quel est le type de ta partition ? De toute manière, il te faudra lire man mount et modifier les options de cette partition dans fstab. -- Nul ne tombe amoureux involontairement ou par hasard. - Jean-Luc Marion - Le phénomène érotique - |
|
|
|
#3 |
|
Messages: n/a
Hébergeur: |
Le 13/02/2007 11:05, PascalJLM a écrit :
> comment peut-on faire pour effacer (automatiquement, dans un script > par exemple) des fichiers créés sous Windows avec des noms tordus du > genre: "Toto TATA rétor à tôtö (FR).doc" Je ne suis pas sûr de comprendre le problème, si c'est à faire par script (donc à priori avec le résultat de ls par exemple). Si c'est manuel et que tu n'as pas certains accents, tu peux faire par exemple ceci : rm "Toto TATA r?tor ? t?t? (FR).doc" |
|
|
|
#4 |
|
Messages: n/a
Hébergeur: |
PascalJLM a écrit :
> Bonjour, > comment peut-on faire pour effacer (automatiquement, dans un script > par exemple) des fichiers créés sous Windows avec des noms tordus du > genre: "Toto TATA rétor à tôtö (FR).doc" > L'idée est si possible d'avoir une méthode générale et non de > remplacer les caractère un à un par leur code... L'effacement n'est pas un problème, mais quel est ton algorithme de détection de noms "tordus" ? |
|
|
|
#5 |
|
Messages: n/a
Hébergeur: |
Dans l'article <45d23e67@neottia.net>,
Olivier Miakinen <om+news@miakinen.net> écrit: > Si c'est manuel et que tu n'as pas certains accents, tu peux faire par > exemple ceci : > rm "Toto TATA r?tor ? t?t? (FR).doc" Perdu. vin:~> touch "Toto TATA rétor à tôtö (FR).doc" vin:~> rm "Toto TATA r?tor ? t?t? (FR).doc" rm: cannot lstat `Toto TATA r?tor ? t?t? (FR).doc': No such file or directory Les méta-caractères ne doivent pas être quotés. Mais: vin:~> rm Toto\ TATA\ r?tor\ ?\ t?t?\ \(FR\).doc zsh: no match Avec des * c'est mieux: vin:~> rm Toto\ TATA\ r*tor\ *\ t*t*\ \(FR\).doc rm: remove regular empty file `Toto TATA rétor à tôtö (FR).doc'? y Je ne sais pas si c'est un bug de zsh ou un trou dans la conception de POSIX, mais AMHA, un ? devrait remplacer un caractère et non pas un byte (en UTF-8, il y a une différence). Note: le mieux est d'utiliser la complétion lorsque cela est possible, ou un gestionnaire de fichier (texte ou graphique, peu importe). -- Vincent Lefèvre <vincent@vinc17.org> - Web: <http://www.vinc17.org/> 100% accessible validated (X)HTML - Blog: <http://www.vinc17.org/blog/> Work: CR INRIA - computer arithmetic / Arenaire project (LIP, ENS-Lyon) |
|
|
|
#6 |
|
Messages: n/a
Hébergeur: |
Vincent Lefevre wrote in message
<20070214112046$0d09@prunille.vinc17.org>: > Je ne sais pas si c'est un bug de zsh ou un trou dans la conception > de POSIX, mais AMHA, un ? devrait remplacer un caractère et non pas > un byte (en UTF-8, il y a une différence). Ni l'un ni l'autre: un nom de fichier sous Unix est une suite d'octets, pas de caractères. Si tu veux les interpréter comme des caractères, c'est ton droit, mais ça ne regarde que toi. |
|
|
|
#7 |
|
Messages: n/a
Hébergeur: |
Bon, pour répondre à tous...
- alors en fait de partition, il s'agit de cygwin portage d'outils gnu & co sous windows donc pour le type de partition... en windows c'est du NTFS en cygwin ??? je sais que mount a été adapté spécialement à cygwin - l'idée c'est de le faire dans un script, à partir du résultat d'un " diff rep1 rep2 | awk '{if .....}' " c'est bien là le problème, c'est qu'il faut que ça soit *automatique* En fait le vrai problème c'est les "(" et ")", pour le reste j'ai l'impression (un peu floue" qu'il se débrouille + ou - PascalJLM |
|
|
|
#8 |
|
Messages: n/a
Hébergeur: |
Dans l'article <45d2f587$0$25597$426a74cc@news.free.fr>,
Nicolas George <nicolas$george@salle-s.org> écrit: > Vincent Lefevre wrote in message > <20070214112046$0d09@prunille.vinc17.org>: > > Je ne sais pas si c'est un bug de zsh ou un trou dans la conception > > de POSIX, mais AMHA, un ? devrait remplacer un caractère et non pas > > un byte (en UTF-8, il y a une différence). > Ni l'un ni l'autre: un nom de fichier sous Unix est une suite > d'octets, pas de caractères. Pas avec HFS+ sous Mac OS X, par exemple (et c'est un Unix). Pas avec certains NAS (avec accès par NFS ou Samba). > Si tu veux les interpréter comme des caractères, c'est ton > droit, mais ça ne regarde que toi. Ben pour l'utilisateur final, un nom de fichier, c'est avant tout une suite de caractères. Et dans les langages de programmation, c'est à peu près pareil: on fait abstraction de l'encodage. -- Vincent Lefèvre <vincent@vinc17.org> - Web: <http://www.vinc17.org/> 100% accessible validated (X)HTML - Blog: <http://www.vinc17.org/blog/> Work: CR INRIA - computer arithmetic / Arenaire project (LIP, ENS-Lyon) |
|
![]() |
| Outils de la discussion | |
|
|