Précédent   Forum des professionnels en informatique > Systèmes > Linux > Applications > Shell
Shell Vos questions sur l'utilisation des commandes shell
Partagez cette discussion sur d'autres réseaux sociaux : Viadeo Twitter Google Facebook Digg Delicious MySpace Yahoo
Réponse Proposer ce sujet en actualité
 
Outils de la discussion
Publicité
'
Vieux 10/01/2007, 11h22   #1
Membre du Club
 
Avatar de domiq44
 
Inscription : novembre 2005
Messages : 203
Détails du profil
Informations personnelles :
Localisation : France, Loire Atlantique (Pays de la Loire)

Informations forums :
Inscription : novembre 2005
Messages : 203
Points : 51
Points : 51
Par défaut Comment bien lire un fichier binaire ?

Bonjour,

Je dois traiter un fichier binaire (en fait, une ligne ascii terminée par des espaces puis 5 caractères nuls '\0').

Code :
1
2
3
4
5
6
 
$ cat -v dummy.dat
dummy line 1 blablabla    ^@^@^@^@^@
dummy line 2 blablabla    ^@^@^@^@^@
dummy line 3 blablabla    ^@^@^@^@^@
$
Je fais actuellement ça :

Code :
1
2
3
4
5
6
7
8
 
nom_fichier=dummy.dat
 
cat $nom_fichier | while read line
do
    echo $line | od -c
    echo $line>>$nom_fichier.bis
done
Or mon fichier bis n'est pas de la même taille, et le echo me renvoi que le début de ma ligne !!!

Ce qui signifie que ma variable $line ne contient pas toute la ligne !

Comment faire ?

Merci.
domiq44 est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 10/01/2007, 14h58   #2
Rédacteur
 
Inscription : mars 2004
Messages : 1 298
Détails du profil
Informations forums :
Inscription : mars 2004
Messages : 1 298
Points : 1 450
Points : 1 450
Avec du binaire est des outils ascii sa reste aleatoir :

soit les 5 caracteres \0 te sont inutil au traitement et ne doivent pas etre restitué
- avec la commande tr tu suprime les \0 puis tu trate le fichier.

tu dois concervé les \0 --> programme en C .
__________________
Marc
Slackware for ever ......
BASH - KSH ( http://marcg.developpez.com/ksh/ )
MarcG est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 12/01/2007, 08h38   #3
Membre du Club
 
Avatar de domiq44
 
Inscription : novembre 2005
Messages : 203
Détails du profil
Informations personnelles :
Localisation : France, Loire Atlantique (Pays de la Loire)

Informations forums :
Inscription : novembre 2005
Messages : 203
Points : 51
Points : 51
Oui, merci.

Finallement j'ai fait ça en Perl !
domiq44 est déconnecté   Envoyer un message privé Réponse avec citation 00
Réponse Proposer ce sujet en actualité
Outils de la discussion



Fuseau horaire GMT +2. Il est actuellement 00h46.


 
 
 
 
Partenaires

Hébergement Web