linux - convertir - ¿Cómo imprimir solo los valores hexadecimales de hexdump sin números de línea o tabla ASCII?
convertir archivo binario a texto linux (4)
Como alternativa, considere utilizar xxd -p file.bin
.
Esta pregunta ya tiene una respuesta aquí:
siguiente Convertir decimal a hexadecimal en el script de shell de UNIX
Estoy intentando imprimir solo los hex values
del hexdump
, es decir, no imprimir los números de líneas y la tabla ASCII.
Pero la siguiente línea de comando no imprime nada:
hexdump -n 50 -Cs 10 file.bin | awk ''{for(i=NF-17; i>2; --i) print $i}''
En primer lugar, elimine -C
que está emitiendo la información de ASCII.
Entonces podrías soltar el offset con
hexdump -n 50 -s 10 file.bin | cut -c 9-
Puede especificar el formato exacto que desea que use hexdump
para la salida, pero es un poco complicado. Aquí está la salida por defecto, menos las compensaciones de archivos:
hexdump -e ''16/1 "%02x " "/n"'' file.bin
(Para mí, parece que esto produciría un espacio final al final de cada línea, pero por alguna razón no es así).
Usar xxd
es mejor para este trabajo:
xxd -p -l 50 -seek 10 file.bin
Del 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.