iconv inplace

Le
Mihamina Rakotomandimby (R12y)
Bonjour a tous
J'ai toute une arborescence d'un projet qui vien t de me parvenir qui
est en iso-8859-1
Je souhaite convertir tout cela en utf-8.
Iconv est mon ami, avec l'option -o ou --output, mais est-ce que c'est
"intelligent" de faire un:
iconv -f ISO-8859-1 -t UTF-8 le_fichier --output le_fichier
Sans passer par un fichier temporaire distinct?
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
Kojak
Le #18657161
Le Fri, 13 Feb 2009 10:35:52 +0300,
Mihamina Rakotomandimby (R12y) a écrit :

c'est "intelligent" de faire un:
iconv -f ISO-8859-1 -t UTF-8 le_fichier --output le_fichier
Sans passer par un fichier temporaire distinct?



Sauf version particulière, non, car tu vas te retrouver avec
un fichier vide. Donc tu es obligé de passer par un fichier
temporaire. Utiliser un script du genre :

#!/bin/sh

/usr/bin/iconv -f ISO-8859-1 -t UTF-8 "$1" >/tmp/$$toutf
/bin/mv /tmp/$$toutf "$1"

devrait régler ton problème.

--
Jacques.
JKB
Le #18657151
Le 13-02-2009, ? propos de
iconv inplace,
Mihamina Rakotomandimby (R12y) ?crivait dans fr.comp.os.unix :
Bonjour a tous
J'ai toute une arborescence d'un projet qui vien t de me parvenir qui
est en iso-8859-1
Je souhaite convertir tout cela en utf-8.
Iconv est mon ami, avec l'option -o ou --output, mais est-ce que c'est
"intelligent" de faire un:
iconv -f ISO-8859-1 -t UTF-8 le_fichier --output le_fichier
Sans passer par un fichier temporaire distinct?



Tu peux essayer ;-) mais personnellement, je m'abstiendrais. À ta
place, je compilerais dans un coin GNU iconv (pour utiliser l'option -c
qui vire d'autorité les caractères bizarres) et j'écrirais une
moulinette à grands coups de for et de find en passant par des fichiers
temporaires.

Cordialement,

JKB

--
Le cerveau, c'est un véritable scandale écologique. Il représente 2% de notre
masse corporelle, mais disperse à lui seul 25% de l'énergie que nous
consommons tous les jours.
Paul Gaborit
Le #18657761
À (at) Fri, 13 Feb 2009 08:46:24 +0000 (UTC),
JKB
Le 13-02-2009, ? propos de
iconv inplace,
Mihamina Rakotomandimby (R12y) ?crivait dans fr.comp.os.unix :
Bonjour a tous
J'ai toute une arborescence d'un projet qui vien t de me parvenir qui
est en iso-8859-1
Je souhaite convertir tout cela en utf-8.
Iconv est mon ami, avec l'option -o ou --output, mais est-ce que c'est
"intelligent" de faire un:
iconv -f ISO-8859-1 -t UTF-8 le_fichier --output le_fichier
Sans passer par un fichier temporaire distinct?



Tu peux essayer ;-) mais personnellement, je m'abstiendrais. À ta
place, je compilerais dans un coin GNU iconv (pour utiliser l'option -c
qui vire d'autorité les caractères bizarres) et j'écrirais une
moulinette à grands coups de for et de find en passant par des fichiers
temporaires.



Quitte à (er)compiler, regardez aussi du côté de 'recode' qui sait
réencoder sur place (ou plutôt qui gère tout seul l'utilisation d'un
fichier temporaire pou réécriture sur place ensuite).

Au fait, je ne vois pas l'intérêt de l'option '-c' puisqu'à ma
connaissance, il n'existe pas de caractères invalides en iso-8859-1.

--
Paul Gaborit -
JKB
Le #18657751
Le 13-02-2009, ? propos de
Re: iconv inplace,
Paul Gaborit ?crivait dans fr.comp.os.unix :

À (at) Fri, 13 Feb 2009 08:46:24 +0000 (UTC),
JKB
Le 13-02-2009, ? propos de
iconv inplace,
Mihamina Rakotomandimby (R12y) ?crivait dans fr.comp.os.unix :
Bonjour a tous
J'ai toute une arborescence d'un projet qui vien t de me parvenir qui
est en iso-8859-1
Je souhaite convertir tout cela en utf-8.
Iconv est mon ami, avec l'option -o ou --output, mais est-ce que c'est
"intelligent" de faire un:
iconv -f ISO-8859-1 -t UTF-8 le_fichier --output le_fichier
Sans passer par un fichier temporaire distinct?



Tu peux essayer ;-) mais personnellement, je m'abstiendrais. À ta
place, je compilerais dans un coin GNU iconv (pour utiliser l'option -c
qui vire d'autorité les caractères bizarres) et j'écrirais une
moulinette à grands coups de for et de find en passant par des fichiers
temporaires.



Quitte à (er)compiler, regardez aussi du côté de 'recode' qui sait
réencoder sur place (ou plutôt qui gère tout seul l'utilisation d'un
fichier temporaire pou réécriture sur place ensuite).

Au fait, je ne vois pas l'intérêt de l'option '-c' puisqu'à ma
connaissance, il n'existe pas de caractères invalides en iso-8859-1.



En iso-8859-1, peut-être pas. Mais j'ai déjà eu des cas où un
éditeur que je ne citerais pas s'était marché sur les pieds et où un caractère
bizarre en fin de fichier faisait foirer iconv.

JKB

--
Le cerveau, c'est un véritable scandale écologique. Il représente 2% de notre
masse corporelle, mais disperse à lui seul 25% de l'énergie que nous
consommons tous les jours.
Paul Gaborit
Le #18657881
À (at) Fri, 13 Feb 2009 10:32:59 +0100,
J'écrivais (avec un peu de précipitation) :
[...]
Quitte à (er)compiler, regardez aussi du côté de 'recode'


~~~~~
[...]

Lire plutôt "Quitte à (re)compiler...". ;-)

--
Paul Gaborit -
Eric Levenez
Le #18658951
Le 13/02/09 09:45, dans « Kojak »
#!/bin/sh

/usr/bin/iconv -f ISO-8859-1 -t UTF-8 "$1" >/tmp/$$toutf
/bin/mv /tmp/$$toutf "$1"



Avec un petit && en fin de iconv pour ne pas faire le mv en cas de soucis.

--
Éric Lévénez -- Unix is not only an OS, it's a way of life.
Kojak
Le #18659601
Le Fri, 13 Feb 2009 12:49:59 +0100,
Eric Levenez a écrit :

Avec un petit && en fin de iconv pour ne pas faire le mv en cas de
soucis.



Oui, et une 'trap' bien sentie pour faire le ménage... Mais bon,
on ne va pas lui mâcher tout le boulot non plus ! ;-)

--
Jacques.
Publicité
Poster une réponse
Anonyme