iconv tronque certains fichiers !

Le
C. Mourad Jaber
Bonjour,

Je suis en train de convertir un projet java encoder initialement en cp1252 vers UTF8.

J'utilise iconv dans ce but Globalement ça fonctionne sauf pour certains fichiers qui
se retrouvent tronqués à des endroits aléatoires et iconv explose en vol avec un signal 7
(SIGBUS : Bus error (bad memory access)) !

Ma commande est la suivante :
find ./ -name "*.java" -exec iconv -c -f cp1252 -t utf8 {} -o {} ;

J'ai trouvé quelques infos qui semble laisser penser à un bug dans la libc :

Est-ce que quelqu'un aurait une idée ?

++

Mourad

--
Lisez la FAQ de la liste avant de poser une question :
http://wiki.debian.org/fr/FrenchLists

Pour vous DESABONNER, envoyez un message avec comme objet "unsubscribe"
vers debian-user-french-REQUEST@lists.debian.org
En cas de soucis, contactez EN ANGLAIS listmaster@lists.debian.org
Archive: http://lists.debian.org/516BE3B1.20208@nativobject.net
Questions / Réponses high-tech
Vidéos High-Tech et Jeu Vidéo
Téléchargements
Vos réponses
Gagnez chaque mois un abonnement Premium avec GNT : Inscrivez-vous !
Trier par : date / pertinence
Yves Rutschle
Le #25342852
On Mon, Apr 15, 2013 at 01:25:37PM +0200, C. Mourad Jaber wrote:
Ma commande est la suivante :
find ./ -name "*.java" -exec iconv -c -f cp1252 -t utf8 {} -o {} ;



Et en passant par un fichier intermédiaire?
find ./ -name "*.java" -exec iconv -c -f cp1252 -t utf8 {} -o {}.out; mv {}.out {} ;

Lire et écrire le ficher en même temps sans option "in
place" est un coup à se planter...

Y.

--
Lisez la FAQ de la liste avant de poser une question :
http://wiki.debian.org/fr/FrenchLists

Pour vous DESABONNER, envoyez un message avec comme objet "unsubscribe"
vers
En cas de soucis, contactez EN ANGLAIS
Archive: http://lists.debian.org/
C. Mourad Jaber
Le #25343142
Le 15/04/2013 13:39, Yves Rutschle a écrit :
On Mon, Apr 15, 2013 at 01:25:37PM +0200, C. Mourad Jaber wrote:
Ma commande est la suivante :
find ./ -name "*.java" -exec iconv -c -f cp1252 -t utf8 {} -o {} ;


Et en passant par un fichier intermédiaire?
find ./ -name "*.java" -exec iconv -c -f cp1252 -t utf8 {} -o {}.out; mv {}.out {} ;

Lire et écrire le ficher en même temps sans option "in
place" est un coup à se planter...

Y.


Merci, mais il doit y avoir une anomalie dans le code, il ne fonctionne pas chez moi.

Je ne peux le faire qu'en 2 étapes, mais cela corrige le problème que j'avais...

Je n'ai pas réussit à chainer 2 commandes dans le même exec de find :
# find ./ -name "*.java" -exec iconv -c -f cp1252 -t utf8 {} -o {}.out ;
# find ./ -name "*.java" -exec mv {}.out {} ;

Et tout fonctionne sans dégâts ni pour iconv, ni pour le contenu des fichiers.

++

Mourad


--
Lisez la FAQ de la liste avant de poser une question :
http://wiki.debian.org/fr/FrenchLists

Pour vous DESABONNER, envoyez un message avec comme objet "unsubscribe"
vers
En cas de soucis, contactez EN ANGLAIS
Archive: http://lists.debian.org/
Publicité
Poster une réponse
Anonyme