Twitter iPhone pliant OnePlus 11 PS5 Disney+ Orange Livebox Windows 11

rm fichier nom bizarre (accents ...)

8 réponses
Avatar
PascalJLM
Bonjour,
comment peut-on faire pour effacer (automatiquement, dans un script
par exemple) des fichiers cr=E9=E9s sous Windows avec des noms tordus du
genre: "Toto TATA r=E9tor =E0 t=F4t=F6 (FR).doc"
L'id=E9e est si possible d'avoir une m=E9thode g=E9n=E9rale et non de
remplacer les caract=E8re un =E0 un par leur code...
Merci d'avance

PascalJLM

8 réponses

Avatar
Jogo
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 -

Avatar
Olivier Miakinen

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"

Avatar
Jean-Louis Liagre
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" ?

Avatar
Vincent Lefevre
Dans l'article ,
Olivier Miakinen <om+ é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 - 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)

Avatar
Nicolas George
Vincent Lefevre wrote in message
<20070214112046$:
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.

Avatar
PascalJLM
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
Avatar
Vincent Lefevre
Dans l'article <45d2f587$0$25597$,
Nicolas George <nicolas$ écrit:

Vincent Lefevre wrote in message
<20070214112046$:
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 - 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)


Avatar
Nicolas George
Vincent Lefevre wrote in message
<20070214134433$:
Pas avec HFS+ sous Mac OS X, par exemple (et c'est un Unix).


'Faut le dire très très vite, que c'est un Unix...

Pas avec
certains NAS (avec accès par NFS ou Samba).


Samba, c'est pas de l'Unix, et NFS, je demande à voir.

Ben pour l'utilisateur final


`fortume -m 'Unix is userfriendly`