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

Linux Discussion :

Binaire avec une taille multiple de 512


Sujet :

Linux

  1. #1
    Membre habitué Avatar de SteelBox
    Profil pro
    Inscrit en
    Novembre 2002
    Messages
    446
    Détails du profil
    Informations personnelles :
    Localisation : Canada

    Informations forums :
    Inscription : Novembre 2002
    Messages : 446
    Points : 194
    Points
    194
    Par défaut Binaire avec une taille multiple de 512
    Bonjour,
    J'ai un fichier binaire et je voudrais que la taille de ce dernier soit un multiple de 512 octets. Pour l'instant, j'édite mon fichier avec un éditeur hexa et je rajoute des 0. J'aimerais bien faire ca par scripts. Si quelqu'un a une idée sur la commande la plus adaptée pour faire ca...

    Si vous savez comment faire a la construction avec gcc, ca me va aussi

  2. #2
    Membre éprouvé
    Avatar de Celelibi
    Profil pro
    Inscrit en
    Janvier 2004
    Messages
    1 087
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Janvier 2004
    Messages : 1 087
    Points : 1 122
    Points
    1 122
    Par défaut
    J'ai pas testé mais je pense qu'un script de ce genre doit faire ce que tu demandes :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    fichier="monbobinaire"
    taille=$(wc -c $fichier | cut -d ' ' -f 1)
    taille_add=$((($taille/512 + 1)*512 - $taille))
    dd if=/dev/zero bs=$taille_add count=1 >> $fichier
    Bon j'ai pas testé mais en théorie ça marche. On se sert de wc pour récupérer la taille original du fichier (si quelqu'un connais un moyen plus directe...). On utilise le fait que bash ne fait que des divisions entières pour calculer le nombre d'octets à rajouter et on utilise finalement dd pour copier juste le nombre d'octets qu'il faut et le tout bien sûr avec une redirection pour ajouter les nouveaux octets à la fin du fichier.

    Bon bah voilà y'a plus qu'à tester.


    Étant donné que je ne vois pas vraiment à quoi ça peut servir je n'ai pas cherché dans le man gcc si il savait le faire lui-même.

  3. #3
    Membre habitué Avatar de SteelBox
    Profil pro
    Inscrit en
    Novembre 2002
    Messages
    446
    Détails du profil
    Informations personnelles :
    Localisation : Canada

    Informations forums :
    Inscription : Novembre 2002
    Messages : 446
    Points : 194
    Points
    194
    Par défaut
    J'ai rien vu dans le manuel mais il est assez gros ete il est précisé que toutes les options ne sont pas décrites.

  4. #4
    Membre habitué Avatar de SteelBox
    Profil pro
    Inscrit en
    Novembre 2002
    Messages
    446
    Détails du profil
    Informations personnelles :
    Localisation : Canada

    Informations forums :
    Inscription : Novembre 2002
    Messages : 446
    Points : 194
    Points
    194
    Par défaut
    En fait, il y a plus simple :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
     
    dd if=X of=X2 bs=512 count=$size conv=sync

Discussions similaires

  1. Comment ouvrir une fenetre avec une taille définie
    Par pierrot10 dans le forum Balisage (X)HTML et validation W3C
    Réponses: 2
    Dernier message: 03/07/2007, 16h27
  2. Créer un bouton avec une taille fixe
    Par onejock dans le forum Graphisme
    Réponses: 10
    Dernier message: 02/04/2007, 15h23
  3. Ecrire avec une taille de police toute petite
    Par yobuntu dans le forum Mise en forme
    Réponses: 2
    Dernier message: 13/02/2007, 14h04
  4. Réponses: 8
    Dernier message: 30/08/2006, 14h22
  5. Lancer une Fenetre avec une taille precise
    Par K.othmane dans le forum API, COM et SDKs
    Réponses: 8
    Dernier message: 23/02/2006, 19h52

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