Como fazer o hexdump não esperar por 16 caracteres do stdin para exibir seus valores hexadecimais?

4

Se eu abri hexdump sem nenhum argumento no terminal:

hexdump

Quando digito algo no terminal e pressiono Enter , hexdump exibirá os valores hexadecimais dos caracteres digitados.

Mas hexdump exibirá somente os valores hexadecimais se eu digitar 16 caracteres, por exemplo:

Aqui,digiteiocaracterea15vezesepressioneiEnter(entãohexdumprecebeu16caracteres(15a+\n)).

Masseeudigitarmenosde16caracteres,porexemplo:

Aqui,digiteiocaracterea14vezesepressioneiEnter(entãohexdumprecebeu15caracteres(14a+\n)).Enestecasohexdumpnãoexibiunada.

Possofazercomquehexdumpexibaosvaloreshexadecimaisparaqualquertamanhodecaracteresqueelereceba,emvezdeesperarque16caracteressejamrecebidos?

Nota:Eunãoquero" usar opções tanto para o hexdump quanto para o xxd exibir um byte como hex por linha " (como sugerido em um comentário aqui). O que eu quero fazer, basicamente, é, por exemplo, saber qual o valor hexadecimal para A sem precisar digitar 15 caracteres extras para obtê-lo.

    
por user258851 04.11.2017 / 06:24

1 resposta

0

Experimente hexdump -v -e '/1 "%02X\n"' . Isso exibe um byte hexadecimal por linha, portanto, o buffer de saída de linha não impedirá que a linha seja exibida.

Então você só precisa digitar A e retornar para saber o valor hexadecimal para A. Você ainda precisa digitar return, porque os buffers de shell também fazem buffer de linha na entrada.

man ascii também funciona. : -)

    
por 04.11.2017 / 10:09