Comment imprimer uniquement les valeurs hex de hexdump sans les numéros de ligne ou la table ASCII? [dupliquer]

Cette question a déjà une réponse ici:

  • comment créer un dump hex de fichier contenant seulement les caractères hex sans espaces dans bash? 5 réponses

suivant Convertir un nombre décimal en hexadécimal en shell script UNIX

je suis en train d'imprimer uniquement les hex valueshexdump, c'est à dire de ne pas imprimer le les numéros de lignes et la table ASCII.

mais la ligne de commande suivante n'affiche rien:

hexdump -n 50 -Cs 10 file.bin |  awk '{for(i=NF-17; i>2; --i) print $i}'
19
demandé sur Community 2013-03-21 20:53:40

4 réponses

Vous pouvez spécifier le format exact que vous voulez hexdump à utiliser pour la sortie, mais c'est un peu délicat. Voici la sortie par défaut, moins les décalages de fichier:

hexdump -e '16/1 "%02x " "\n"' file.bin

(pour moi, il semble que cela produirait un espace supplémentaire à la fin de chaque ligne, mais pour quelque raison il ne le fait pas.)

34
répondu chepner 2013-03-25 12:59:13

en utilisant xxd est meilleur pour ce travail:

xxd -p -l 50 -seek 10 file.bin

man xxd:

-p | -ps | -postscript | -plain
    output in postscript continuous hexdump style. Also known as plain hexdump style.

-l len | -len len
    stop after writing <len> octets.
43
répondu 0x90 2016-10-18 11:57:45

comme alternative, envisagez d'utiliser xxd -p file.bin.

19
répondu twalberg 2013-03-21 17:15:24

tout d'Abord, retirez -C qui émet les informations ascii.

alors vous pouvez laisser tomber l'offset avec

hexdump -n 50 -s 10 file.bin | cut -c 9-
4
répondu glenn jackman 2013-03-21 17:06:13