IdentifiantMot de passe
Loading...
Mot de passe oublié ?Je m'inscris ! (gratuit)
Navigation

Inscrivez-vous gratuitement
pour pouvoir participer, suivre les réponses en temps réel, voter pour les messages, poser vos propres questions et recevoir la newsletter

Shell et commandes GNU Discussion :

La commande wc -m petit souci


Sujet :

Shell et commandes GNU

Vue hybride

Message précédent Message précédent   Message suivant Message suivant
  1. #1
    Modérateur
    Avatar de ToTo13
    Homme Profil pro
    Chercheur en informatique
    Inscrit en
    Janvier 2006
    Messages
    5 793
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 46
    Localisation : Etats-Unis

    Informations professionnelles :
    Activité : Chercheur en informatique
    Secteur : Santé

    Informations forums :
    Inscription : Janvier 2006
    Messages : 5 793
    Par défaut La commande wc -m petit souci
    Bonjour,

    je souhaitais lire une image pgm avec un soft java, mais j'ai eu un souci de EOF. J'ai donc fais une petite vérification :

    - Les image pgm ont cette forme :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
     
    P5
    #des commentaires
    512 512
    #des commentaires
    255
    jfgiormeztufeormtuerl456789r!uez!eliqf elfi
    Autrement dis :
    - un type : P5
    - largeur et hauteur : 512 512
    - un niveau maximum de gris : 255
    - largeur*hauteur caractères.

    J'ai donc fait un wc -m pour savoir combien il y avait de caractères dans l'image suivante : abe j'ai obtenu : 262178 caractères
    Puis j'ai enlevé les caractères, donc je n'ai laissé que l'entête et j'ai obtenu : 34 caractères
    J'ai alors enlevé l'entête et compté le nombre de caractères et j'ai obtenu : 262139 caractères.

    Pourquoi ai je une différence de 5 caractères quand je décompose l'image ?
    J'ai répété plusieurs fois l'opération pour m'assurer que je n'avais pas fait d'erreur.

    Est ce que quelqu'un sait pourquoi ???

    merci...
    Consignes aux jeunes padawans : une image vaut 1000 mots !
    - Dans ton message respecter tu dois : les règles de rédaction et du forum, prévisualiser, relire et corriger TOUTES les FAUTES (frappes, sms, d'aurteaugrafe, mettre les ACCENTS et les BALISES) => ECRIRE clairement et en Français tu DOIS.
    - Le côté obscur je sens dans le MP => Tous tes MPs je détruirai et la réponse tu n'auras si en privé tu veux que je t'enseigne.(Lis donc ceci)
    - ton poste tu dois marquer quand la bonne réponse tu as obtenu.

  2. #2
    Modérateur
    Avatar de ggnore
    Profil pro
    Inscrit en
    Juillet 2004
    Messages
    2 472
    Détails du profil
    Informations personnelles :
    Âge : 46
    Localisation : France

    Informations forums :
    Inscription : Juillet 2004
    Messages : 2 472
    Par défaut
    Certaines valeurs ascii ne sont pas écrivables. Ceux sont des valeurs qui sont en dessous de 30 si je me souviens.

    Une image est un fichier binaire : il n'est pas traité comme un fichier texte quand il est interprété.

    Si tu manipules un fichier binaire comme si il était composé de caractères, tes outils peuvent rencontrer des problèmes d'interprétation car ils doivent travailler avec des valeurs pour lesquels ils n'ont pas été faits.

    C'est une piste
    Toutes les vertus des hommes se perdent dans l’intérêt comme les fleuves se perdent dans la mer.
    N'oubliez pas de consulter les FAQ Linux et les cours et tutoriels Linux

  3. #3
    Membre Expert

    Profil pro
    Inscrit en
    Mars 2004
    Messages
    1 296
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Mars 2004
    Messages : 1 296
    Par défaut
    Je ne comprend pas bien ce que tu veut faire mais si tu doits compter le nombre de caractere d'un fichier binaire utilise "od"
    genre :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
     
    od -x mon_fichier | wc -ml
    le nombre d'octet est la difference ntre le nombre de ligne+1 et le total sortie par wc.

    le plus simple et quand même un "ls -l" voir un "stat".......

  4. #4
    Modérateur
    Avatar de ToTo13
    Homme Profil pro
    Chercheur en informatique
    Inscrit en
    Janvier 2006
    Messages
    5 793
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 46
    Localisation : Etats-Unis

    Informations professionnelles :
    Activité : Chercheur en informatique
    Secteur : Santé

    Informations forums :
    Inscription : Janvier 2006
    Messages : 5 793
    Par défaut
    Bonjour,

    une image PGM n'est pas codé entièrement en binaire.
    L'entete est du texte et le corp est composé de caractères représentant une valeur binaire.

    En C on peut tout écrire comme valeur à l'aide de la fonction fwrite et réciproquement tout lire avec fread. Les autres fonction connaissent certaines difficultés pour les valeur comme 13 ('\n') ou 10 ('\t').

    En revanche, il semblerait que wc ne lise pas tout...
    Consignes aux jeunes padawans : une image vaut 1000 mots !
    - Dans ton message respecter tu dois : les règles de rédaction et du forum, prévisualiser, relire et corriger TOUTES les FAUTES (frappes, sms, d'aurteaugrafe, mettre les ACCENTS et les BALISES) => ECRIRE clairement et en Français tu DOIS.
    - Le côté obscur je sens dans le MP => Tous tes MPs je détruirai et la réponse tu n'auras si en privé tu veux que je t'enseigne.(Lis donc ceci)
    - ton poste tu dois marquer quand la bonne réponse tu as obtenu.

  5. #5
    Membre Expert
    Avatar de 2Eurocents
    Profil pro
    Inscrit en
    Septembre 2004
    Messages
    2 177
    Détails du profil
    Informations personnelles :
    Âge : 55
    Localisation : France

    Informations forums :
    Inscription : Septembre 2004
    Messages : 2 177
    Par défaut
    J'aurai tendance à me méfier de wc -m pour un fichier contenant des données binaires. wc -c me paraît plus fiable ...

    Maintenant, en toute logique, la partie "image" du fichier fait 512 x 512 pixels, soit 262144 octets. Toute valeur différente dénote soit un fichier corrompu, soit une erreur de manipulation lors de la séparation.

    Le fichier, en tout, fait 262178 octets.

    L'entête doit donc faire 262178 - 262144 = 34 octets.

    La valeur totale et la longueur de l'entête correspondant, tu as du te tromper lors de la séparation.

    Je crois que ton éditeur n'a pas supporté les données binaires et en a supprimé quelques caractères entre la lecture et l'écriture du bloc de données.

  6. #6
    Modérateur
    Avatar de ToTo13
    Homme Profil pro
    Chercheur en informatique
    Inscrit en
    Janvier 2006
    Messages
    5 793
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 46
    Localisation : Etats-Unis

    Informations professionnelles :
    Activité : Chercheur en informatique
    Secteur : Santé

    Informations forums :
    Inscription : Janvier 2006
    Messages : 5 793
    Par défaut
    Bonjour,

    j'ai émis cette hypothèse, mais cela me semble tout de même bizarre. J'ai bien compté 34 caractères supprimés...
    Consignes aux jeunes padawans : une image vaut 1000 mots !
    - Dans ton message respecter tu dois : les règles de rédaction et du forum, prévisualiser, relire et corriger TOUTES les FAUTES (frappes, sms, d'aurteaugrafe, mettre les ACCENTS et les BALISES) => ECRIRE clairement et en Français tu DOIS.
    - Le côté obscur je sens dans le MP => Tous tes MPs je détruirai et la réponse tu n'auras si en privé tu veux que je t'enseigne.(Lis donc ceci)
    - ton poste tu dois marquer quand la bonne réponse tu as obtenu.

+ Répondre à la discussion
Cette discussion est résolue.

Discussions similaires

  1. [XL-2007] Petit soucis formule excel pour respecter un minimum de commande
    Par Pygouv dans le forum Excel
    Réponses: 4
    Dernier message: 31/10/2013, 13h45
  2. Petit soucis commande sed
    Par mortalink dans le forum BSD
    Réponses: 1
    Dernier message: 26/01/2011, 17h10
  3. commande "at" pour lancer un batch: petit souci
    Par mathieu_r dans le forum Windows
    Réponses: 2
    Dernier message: 06/06/2006, 09h27
  4. Réponses: 6
    Dernier message: 21/01/2004, 13h25
  5. [DEBUTANT] petits soucis avec un prgm de chat
    Par LechucK dans le forum MFC
    Réponses: 8
    Dernier message: 19/01/2004, 16h52

Partager

Partager
  • Envoyer la discussion sur Viadeo
  • Envoyer la discussion sur Twitter
  • Envoyer la discussion sur Google
  • Envoyer la discussion sur Facebook
  • Envoyer la discussion sur Digg
  • Envoyer la discussion sur Delicious
  • Envoyer la discussion sur MySpace
  • Envoyer la discussion sur Yahoo