iconv associé à bzip2 : rien ne sort

iconv associé à bzip2 : rien ne sort - Codes et scripts - Linux et OS Alternatifs

Marsh Posté le 11-12-2008 à 19:42:29    

 Bonjour,
 
Je souhaiterais lire grâce à un programme perso la base de données wikipedia, qui est en bz2, le tout sans passer par un fichier temporaire décompressé (trop gros).
Mon programme utilise donc bzip2 -dc frwiki-pages-meta-history.xml.bz2 afin de lire la sortie standard.
La aucun problème ca fonctionne.
 
Oui mais voila, il y a tout de meme un probleme : je voudrais de l'ISO-8859-1 et non de l'UTF-8.
Alors je fais :

bzip2 -dc frwiki-pages-meta-history.xml.bz2 | iconv -c --from-code=UTF-8 --to-code=ISO-8859-1   (ou sans le -c)


et la rien ne sort !
 
Pourtant, si je fais un test en procédant comme ceci, j'ai ce qu'il faut en sortie :

bzip2 -dc frwiki-pages-meta-history.xml.bz2 > test  (puis je kill avec CTRL+C au bout de quelques secondes)
cat test | iconv -c --from-code=UTF-8 --to-code=ISO-8859-1


 
Alors comment se fait-il que iconv associé à cat fonctionne alors que rien ne se passe quand les données proviennent de bzip2 ?
 
Je vous remercie beaucoup par avance pour vos idées ! :)

Reply

Marsh Posté le 11-12-2008 à 19:42:29   

Reply

Marsh Posté le 11-12-2008 à 19:59:05    

PS: le problème semble spécifique à wiki ou peut-être aux gros fichiers, car lorsque je prends un fichier tout simple :

cat test | bzip2 -9 > test.bz2
bzip2 -dc test.bz2 | iconv -c --from-code=UTF-8 --to-code=ISO-8859-1


aucun problème :-\


Message édité par henri2 le 11-12-2008 à 19:59:30
Reply

Marsh Posté le 11-12-2008 à 20:03:36    

une idée au hasard, tu es sur que bz2 envoie le flux au fur et à mesure ? et tu es sur que iconv est capable de le traiter au fur et à mesure ?
 
parce que si l'un ou l'autre ne le fait pas, ça explique le comportement, il faut attendre que tout soit décompressé.


---------------
Celui qui pose une question est idiot 5 minutes. Celui qui n'en pose pas le reste toute sa vie. |  Membre du grand complot pharmaceutico-médico-scientifico-judéo-maçonnique.
Reply

Marsh Posté le 11-12-2008 à 20:35:35    

bzip2 oui puisque mon programme arrive à traiter les données avec bzip2 seul
mais hmm... peut etre que iconv non !
aie aie aie, comment faire ? :-\

Reply

Marsh Posté le 11-12-2008 à 20:47:27    

bzcat plutot que bzip2 -dc ?


---------------
Ce n'est point ma façon de penser qui a fait mon malheur, c'est celle des autres.
Reply

Marsh Posté le 11-12-2008 à 21:30:08    

# ls -l /usr/bin/bzcat
lrwxrwxrwx 1 root root 15 Nov  6 19:52 /usr/bin/bzcat -> ../../bin/bzip2*

Reply

Marsh Posté le 11-12-2008 à 22:47:44    

Ah oui tiens [:tinostar]
 
J'aurais au moins appris un truc aujourd'hui :D


---------------
Ce n'est point ma façon de penser qui a fait mon malheur, c'est celle des autres.
Reply

Sujets relatifs:

Leave a Replay

Make sure you enter the(*)required information where indicate.HTML code is not allowed