Como imprimir primeiros 10 bytes em hexadecimal de um arquivo?

9

Eu preciso imprimir os primeiros 10 bytes de um arquivo em hexadecimal no prompt de comando do Linux Mint.

Alguém pode me ajudar?

Obrigado

    
por techfun 24.01.2014 / 00:12

3 respostas

9

Eu vim aqui vendo três respostas pensando que não teria nada a acrescentar, e que isso seria um exercício de quantas pessoas podem postar o mesmo 1-liner no primeiro minuto de uma pergunta. Mas eu acho pessoas usando uma nova ferramenta hexdump . Esse comando é caminho maior que 2 letras; alude a alguma base que não seja a base verdadeira One (base 8); e é até aparente pelo seu nome o que ele faz. Claramente este não é o jeito Unix.

Então aqui está a alegria de od ("octal dump").

Primeiro GNU, como você vai encontrar no seu Linux Mint:

od --format=x1 --read-bytes=10 foo

Agora, BSD, onde a ironia é que, na verdade, é o mesmo programa que hexdump :

od -t x1 -N 10 foo
    
por 24.01.2014 / 02:01
8

A opção -l len | -len len é para: pare depois de escrever <len> octetos.

Use com um arquivo como este:

xxd -l 10 file

ou

hexdump -C -n 10 file

em que -n len é igual à opção -l de xxd.

    
por 24.01.2014 / 00:37
5

Você pode usar xxd para fazer isso.

$ xxd -ps -l 10 FILENAME
546865204d4954204c69

Imprime os primeiros 10 bytes ( -l 10 ) de FILENAME no formato hexadecimal simples ( -ps ).

    
por 24.01.2014 / 00:38